随笔分类 - VC++ MFC
摘要:操作系统:Windows 7软件环境:Visual C++ 2008 SP1本次目的:实现无框移动 所谓的无标题栏对话框,是基于对话框的工程,对话框属性Border设置为None,对话框如下所示: 为对话框添加左键点击事件,代码如下: [cpp] view plain copy void CPlay
阅读全文
摘要:CWnd类虚函数的调用时机、缺省实现 FMD(http://www.fmdstudio.net) 1. Create 2. PreCreateWindow 3. PreSubclassWindow 4. PreTranslateMessage 5. WindowProc 6. OnCommand 7
阅读全文
摘要:句柄vs指针 句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访问对象。但是,如果您真的这样认为,那么您就大错特错了。我们知道,Windows是一个以虚拟内存为基
阅读全文
摘要:内存句柄与指针的区别 句柄其实就是指针,但是他和指针最大的不同是:给你一个指针,你可以通过这个指针做任何事情,也许是好事,也许是通过这个指针破坏内存,干一些捣乱的事情。这个我想大家都会碰到过,因为乱用指针导致程序崩溃 句柄就没有这个缺点,通过句柄,你只能干一些windows让你干的事情(调用一些ap
阅读全文
摘要:(unresolved external symbol __endthreadex解决办法) 1、新建控制台程序: 2、添加源代码如下: [cpp] view plain copy print? #include <afx.h> #include <stdio.h> int main() { int
阅读全文
摘要:假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create。则销毁窗口的调用次序: 1. 手工调用pWnd->DestroyWindow(); 2. DestroyWindow会发送WM_DESTROY; 3. WM_DESTROY对应的消息处理函数是OnDestroy(); 4.
阅读全文
摘要:MFC应用程序中处理消息的顺序 1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数
阅读全文
摘要:挺长时间了吧,这个帖子还没沉下去,使用MFC开发有十多年了,结合自身的体会,随便说几句:1、MFC是一个C++的基础类库,封装了绝大多数的API函数,主要是用来创建带UI的应用程序,服务端程序或着不带UI的模块用STL更好,不建议MFC;2、MFC是一个框架型类库,封装复杂,为简化代码使用了大量的宏
阅读全文
摘要:1、判断焦点当前所在控件 2、动态移动控件位置 3、GDI+绘制文字 4、编辑框跳变显示 5、最大化显示 6、Uint uFormat常用值 7、获取菜单个数 8、添加气泡提示 9、编辑框输入时响应函数 10、隐藏菜单 11、修改标题栏标题 12、动态加载标题栏图标 13、动态改变菜单不可用 14、
阅读全文
摘要:/******************************************************************** created: 2008/07/22 created: 22:7:2008 10:23 filename: SelectDialog.h file base: SelectDialog ...
阅读全文
摘要:题外话:刚开始学视窗程序设计的时候,我就打印了一本Windows消息详解,里面列举了各种已定义消息的意义和作用,共10多页,在编程的时候翻翻,有时觉得很受用。我发觉很多编程的朋友,虽然每天都面对消息,却很少关注它。C++程序员有一个通病,很想写“自己”的程序,即每一行代码都想自己写出来。如果用了一些
阅读全文
摘要:有关句柄和指针的常用函数 1. 如何获取应用程序的 实例句柄? AfxGetInstanceHandle() 应用程序的 实例句柄保存在CWinAppIm_hInstance 中,可以这么调用 AfxGetInstancdHandle获得句柄. Example: HANDLE hInstance=A
阅读全文
摘要:对话框有两种创建方式:DoModal和Creat。 其中DoModal创建的是模态的对话框,而Creat创建的是非模态的对话框下面总结下他们的不同。 对于模态的对话框,在该对话框被关闭前,用户将不能在同一应用程序的其他地方进行工作(例如open file对话框),而对于非模态的对话框,在它留在屏幕上
阅读全文
摘要:https://www.0xaa55.com/forum.php?mod=viewthread&tid=1390
阅读全文
摘要:这段时间用VC封装Windows类库,没有MakeObjectInstance处理窗口消息确实不爽,又不想使用MFC的消息映射,这玩意的效率和美观只能呵呵。 至于MakeObjectInstance是什么,Delphi转过来的同学必然很了解这个方便的功能,就是动态构造一个函数把普通函数转到一个类的成
阅读全文
摘要:当用VC++的Application Wizard生成除了CDialog Basiced以外的应用程序时,将自动产生视图类、文档类、主帧窗口类、应用程序类等等。一般来说,程序的核心数据及操作在文档类中实现。跟界面有关的数据及操作在视图类中实现。当需要在某个类中使用不属于该类的数据时,必须要取得该数据
阅读全文
摘要:模态对话框与非模态对话框的区别 使用非模态对话框与使用模态对话框相似,但是也有一些重要的区别: 首先,非模态对话框通常包含一个标题列和一个系统菜单按钮。当您在Developer Studio中建立对话框时,这些是内定选项。用于非模态对话框的对话框模板中的STYLE叙述形如: STYLE WS_POP
阅读全文
摘要:http://blog.csdn.net/swimmer2000/archive/2007/10/30/1856213.aspx MFC(VC6.0)的CWnd及其子类中,有如下三个函数: // From VS Install PathVC98MFCIncludeAFXWIN.H class CWn
阅读全文
摘要:PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码. MFC 消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),
阅读全文