
MFC
文章平均质量分 63
把大学没学完的学完
用代码淋漓尽致的展现自己的思路
展开
-
总结OnOK、OnCancel、OnDestroy函数之间的区别
第一,OnOk()和OnCancel()是CDialog基类的成员函数,而OnColse()和OnDestroy()是CWnd基类的成员函数,即WM消息响应函数第二,OnClose()和OnDestroy()在对话框程序中,根据《深入浅出MFC》所讲,程序退出执行时执行的操作顺序为(从点X按钮开始)(1)用户点击X关闭按钮,发送了WM_CLOSE消息----------->响应OnCl原创 2014-04-03 16:30:44 · 1425 阅读 · 0 评论 -
对话框程序菜单项可以禁用但不变灰问题的解决方法
1、问题描述今天在做基于对话框的MFC程序时,根据条件禁用了某一菜单项:测试发现该菜单项确实功能无效,但是没有变灰的效果。2、解决方法根据网上资料,对于视图文档类MFC程序,在主框架类CMainFrame的构造函数中把成员变量m_bAutoMenuEnable=FALSE就可以解决问题了。但是基于对话框的MFC应用程序没有m_bAutoMenuEnable变量。原创 2014-04-04 00:44:26 · 1421 阅读 · 0 评论 -
MFC菜单的命令更新机制
当要现实菜单时,操作系统发出WM_INITMENUPO原创 2014-04-03 22:07:08 · 945 阅读 · 0 评论 -
MFC工程中 定义一个变量让所有源程序都能用的最简单的方法
如何定义一个变量(对象)让VC中所有源程序都能用。这里借助extern来实现。我们知道extern的用法如是:1234567891011121314 // a.hextern int a;(extern) int f();//a.cppint a = 0;int f()原创 2014-04-03 22:36:24 · 777 阅读 · 0 评论 -
Windows消息类型
一、标准消息: 1、除WM_COMMAND之外,所有以WM_开头的消息。 2、从CWnd派生的类,都可以接收到这类消息。二、命令消息: 1、来自菜单、加速键或工具栏按钮的消息。这类消息都以WM_COMMAND呈现。在MFC中,通过菜单项的标识(ID)来区分不同的命令消息;在SDK中,通过消息的wParam参数识别。 2、从CCmd原创 2014-04-03 18:07:48 · 468 阅读 · 0 评论 -
从自定义对话框 派生出新的子对话框 [转]
有时候,多个对话框有许多共同的控件并执行的操作类似。这里可以提取这些共同控件,生成一个基础对话框以及对应的基础类。后面其他的对话框都可以从这个基础对话框继承控件以及对控件的操作,从而实现代码复用。一下为操作流程示例。 新建的一个基于对话框的工程。到底是基于对话框还是view不重要。这里使用对话框仅仅给操作提供一个展示平台。在对话框上添加两个按钮 并添加其响应函数,用于原创 2014-04-03 23:29:56 · 658 阅读 · 0 评论 -
MFC关于消息响应的宏代码
MFC 消息类型:三种 1、命令消息(WM_COMMAND) 所有派生自 CCmdTarget 的类都有资格接受WM_COMMAND。 2、Window消息(WM_xxx) 所有派生自 CWnd 的类都有资格接受 WM_xxx。 3、控件消息(WM_NOTIFY) 控件向其父窗口通知消息。 消息处理:1、WM_xxx 消息处理 窗口类(自身原创 2014-04-03 18:53:16 · 519 阅读 · 0 评论 -
CGdiObject::DeleteObject的说法
CGdiObject说明CGdiObject类是一个为各种windows图形设备接口(GDI)对象(比如位图,区域,画刷,画笔,调试板,字体等)提供的基类。class CGdiObject : public CObject我们不会直接构造一个CGdiObject对象,而是使用某一个派生类如CPen或CBrush创建。CGdiObject::DeleteObject#includ原创 2014-04-02 23:12:39 · 1114 阅读 · 0 评论 -
WM_CTLCOLOR和OnCtlColor消息的用法
很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等,其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成!WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON等控件设置背景和字体颜色,其用法如下:1.首先在自己需要设置界面的对话框上点击右键-->原创 2014-04-02 20:50:40 · 625 阅读 · 0 评论 -
关于截取字符串的两个函数CString::Tokenize()和AfxExtractSubString() .
CString::Tokenize()和AfxExtractSubString()这两个函数都用来截取特定分隔符的字符串,其中有些区别值得注意。 CStringT Tokenize(PCXSTR pszTokens, int& iStart) const;BOOL AFXAPI AfxExtractSubString(CString& rString, LPCTSTR lpszFullSt原创 2014-04-01 17:35:04 · 870 阅读 · 0 评论 -
vs2010,VC6.0添加自定义消息步骤
一.在类向导中为对话框类选择 添加自定义消息 2.#define UM_MYMESSAGE WM_USER+13.编辑自定义消息处理函数对应的代码。(一般在步骤一只是生成了函数名,还没函数体)比VC6.0的完全手工添加省事。VC6.0添加自定义消息步骤:1、首先在用户类中声明自定义消息WM_SHOWTASK(当然可以为其他):#defin原创 2014-04-04 22:47:05 · 475 阅读 · 0 评论