VC/MFC
文章平均质量分 57
Unimen
享受编程,挑战自我!
展开
-
vc中对话框如何屏蔽ESC和ENTER键
在VC6.0中,我们可以对CDialog选中,按F12,然后在该类中找到虚函数 virtual void OnOK();virtual void OnCancel();我们改写他。屏蔽ESC\Enter:方法一: 重载CDialog的OnCancel ,转载 2011-09-15 19:12:42 · 865 阅读 · 0 评论 -
CString 和 LPCTSTR 之间的转换 及 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
CString 和 LPCTSTR 可以说通用。 原因在于CString定义的自动类型转换,没什么奇特的,最简单的C++操作符重载而已。 常量字符串ansi和unicode的区分是由宏_T来决定的。但是用_T( "abcd ")时, 字符串 "abcd "转载 2011-09-17 16:21:15 · 787 阅读 · 0 评论 -
ASSERT_VALID和ASSERT宏分析
这个宏都是MFC的调试宏. ASSERT_VALID宏用来在运行时检查一个对象的内部合法性,比如说现在有一个学生对象,我们知道每个学生的年龄一定大于零,若年龄小于零,则该学生对象肯定有问题。事实上,ASSERT_VALID宏就是转化为对象的成员函数Asser转载 2011-09-29 09:43:21 · 788 阅读 · 0 评论 -
灵活运用CWinThread,构造自己的worker线程
如果用AfxBeginThread()启动worker线程,只能是启动一个函数,即便是启动UI线程,在CWinThread继承的类的,也有很大的限制,其实CWinThread是相当灵活的。先说AfxBeginThread内部做的工作:1、在heap中配置一个新的CWinT原创 2011-09-29 08:55:12 · 3136 阅读 · 0 评论 -
fatal error C1010: unexpected end of file while looking for precompiled header directive
在编译VC++6.0是,出现fatal error C1010: unexpected end of file while looking for precompiled header directive的错误.解决方法:如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的 Settings,选择C/C++选项卡,从Category组合框中选中P原创 2011-08-11 07:57:08 · 734 阅读 · 0 评论 -
MFC中使菜单项变灰的两种方法
方法一: 给菜单项关联UPDATE_COMMAND_UI消息,在消息处理函数中调用Enable()(具体用法查MSND)方法即可,但这种方法只能使用于子菜单 中有菜单项的情况,如果某个子菜单里面没有菜单项这种方法是不行的,原因在于MFC中菜单命令的更新机制(具体可查孙鑫写的VC深入详 解) 方法二: 在菜单项的响应函数中直接调用CMenu::EnableMe原创 2011-06-30 19:18:00 · 2927 阅读 · 0 评论 -
MFC中在工作线程下画图(自定义消息的发送)
有两种方法: 由于产生的线程函数只能为类中的static函数或全局函数(这里假设线程函数为view类的static成员函数),由于线程函数为static,因此不能 直接访问view类的非static成员函数,也就不能用CClientDC之类的成员函数绘图,如果用全局的GetDC,也会同样不能用常规的方法取得 hwnd,这时可用办法: CMainFrame *p=(C原创 2011-06-29 16:04:00 · 3547 阅读 · 4 评论 -
CEdit读取内容的时机
ON_EN_CHANGEThe user has taken an action that may have altered text in an edit control. Unlike theEN_UPDATE notification message, this notification message is sent after Windows updates the display转载 2011-08-16 16:45:18 · 1051 阅读 · 0 评论