当前位置: 首页 > news >正文

【VC++学习笔记三】控件自绘

      MFC应用程序中,大部分的控件类型都已经被定制好了,即便是修改,也只是小范围内的修改,而很多情况下,我们又需要对界面进行特殊定制,这时,最好的办法就是用CWnd类进行派生,自己生成新的窗体,在WM_PAINT消息中,进行控件的自绘,创建时,也只需要在主窗体的创建语句中加上就能显示了,下面是一个简单的控件创建过程:

如果什么都不处理的话,需要重载注册窗口类,才能显示,父窗口的WM_SIZE函数需要重载以相应对窗口变化的处理。

 

BOOL CCustomerWnd::PreCreateWindow(CREATESTRUCT& cs)

{

HINSTANCE hInstance = (HINSTANCE)AfxGetInstanceHandle();

ASSERT(hInstance);

 

WNDCLASSEX wcex;

wcex.cbSize = sizeof(WNDCLASSEX);

 

BOOL bRet = GetClassInfoEx(hInstance,cs.lpszClass,&wcex);

if (bRet)

{

return TRUE;

}

 

wcex.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS;

wcex.lpfnWndProc = AfxWndProc;

wcex.cbClsExtra = 0;

wcex.cbWndExtra = 0;

wcex.hInstance = hInstance;

wcex.hIcon = wcex.hIconSm = (HICON)::LoadIcon(hInstance,MAKEINTRESOURCE(IDR_MAINFRAME));

wcex.hCursor = (HCURSOR)::LoadCursor(NULL,IDC_ARROW);

wcex.hbrBackground = (HBRUSH)::GetStockObject(WHITE_BRUSH);

wcex.lpszMenuName = NULL;

wcex.lpszClassName = cs.lpszClass;

 

bRet = RegisterClassEx(&wcex);

 

return bRet;

}

转载于:https://www.cnblogs.com/OldGlory/p/3588643.html

相关文章:

  • 长沙多校联合训练
  • Windows下修改Git bash的HOME路径(转)
  • 高性能javascript学习总结(3)--数据访问
  • 灵感不断
  • 各种触摸手势
  • Java对MySQL数据库进行连接、查询和修改【转载】
  • 如何向妻子解释OOD (转)
  • 表单批量添加
  • Windows 7 IIS (HTTP Error 500.21 - Internal Server Error)解决
  • 大话设计模式系列
  • eclipse与myeclipse的区别
  • Cocos2d-x学习笔记(一) 搭建开发环境
  • ASP标准控件的重要性
  • 关于_setActiveMenu
  • struts2学习笔记①
  • Apache的基本使用
  • gitlab-ci配置详解(一)
  • IDEA 插件开发入门教程
  • IOS评论框不贴底(ios12新bug)
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • js作用域和this的理解
  • PHP的类修饰符与访问修饰符
  • vue.js框架原理浅析
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 深入浅出Node.js
  • 通信类
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ![CDATA[ ]] 是什么东东
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (1)(1.13) SiK无线电高级配置(六)
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (AngularJS)Angular 控制器之间通信初探
  • (TOJ2804)Even? Odd?
  • (安卓)跳转应用市场APP详情页的方式
  • (二)pulsar安装在独立的docker中,python测试
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (三)mysql_MYSQL(三)
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)VirtualBox安装增强功能
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ******IT公司面试题汇总+优秀技术博客汇总
  • ./configure,make,make install的作用
  • .Net Core 中间件验签
  • .NET Framework .NET Core与 .NET 的区别
  • // an array of int
  • ?
  • ?php echo ?,?php echo Hello world!;?