MFC
luliyuan
这个作者很懒,什么都没留下…
展开
-
CDC,CClientDC,CPaintDC,CWindowDC 比较区别
MFC中的CDC,CClientDC,CPaintDC,CWindowDC的区别 1、CDC是Windows绘图设备的基类。 2、CClientDC: (1)(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其构造函数中包含了GetDC,析构函数中包含了ReleaseDC。 3、CPaintDC: (1)用于响应窗口重绘消息(WM_PAINT)是的绘转载 2013-05-27 20:17:43 · 855 阅读 · 0 评论 -
CString类的完美总结
①、CString 类对象的初始化: CString str; CString str1(_T("abc")); CString str2 = _T("defg"); TCHAR szBuf[] = _T("kkk"); CString str3(szBuf); CString str4 = szBuf; TCHAR *p = _T("1k2"); //TCHAR *转载 2014-10-15 14:46:18 · 747 阅读 · 0 评论 -
string,wstring,CString
一.概念 string是C++提供的标准字符串操作类.wstring是操作宽字符串的类. CString是对string(字符串)和wstring(宽字符串)的一个封装,常用在mfc中.用来解决编码问题的. 二.转换 string或者wstring转换到CString: 要把std::string或者std::wstring类型的数转载 2014-11-13 17:28:44 · 2042 阅读 · 0 评论 -
API函数前面::符号的含义
:: 这个是作用域标识符! 如果是在MFC下编程的话,因为MFC封装了API函数,但是参数有的和API函数不一样,比如MFC封装的函数一般都没有句柄这个参数,但是API函数都有,所以在MFC编程中,如果你调用的是全局的API函数的话就要加::符号,来通知编译器你调用的是全局的API函数,而不是MFC封装的API函数!当然有的函数比如参数是个布尔型的,MFC封装的函数和全局的API函数的参数相同,转载 2014-11-11 15:30:34 · 2003 阅读 · 0 评论 -
MFC 改变窗口类名
MFC 改变窗口类名 1,改变窗口类名:比如:MyClassName是自己想设置的类名 方法:打开资源视图,右击外挂窗口,属性改掉ClassName属性,若它为灰色,右击.rc文件改mfc Mode属性为false,再改 2,改变后在CTestCpp中的InitInstance()注册该窗口类名 WNDCLASS wc; // 获取窗口类信息。MFC默认的所有对话框的窗口类名为原创 2014-09-23 11:13:13 · 5478 阅读 · 0 评论 -
MFC ListBox用法
CWnd* pList = NULL; pList = GetDlgItem(IDC_LIST2); hCurOld = SetCursor(LoadCursor(NULL, IDC_WAIT));原创 2014-08-22 13:23:48 · 2710 阅读 · 0 评论 -
在CDialog和CWnd中动态创建一个窗体的方式
在CDialog和CWnd中使用Create动态创建一个窗体的方式 class CDisplayDlg : public CDialog { /* Construct function */ CDisplayDlg(CWnd* pParent = NULL) { RECT rRect = {0, 0, DSP_SCREEN_WIDTH, DSP_SCREEN_HEIGHT}; CWn原创 2014-03-31 12:51:55 · 7877 阅读 · 0 评论 -
CreateProcess 后设置焦点不能切换
1、背景: A.exe启动B.exe之后,焦点只能在B上,只有B退出后才能将焦点切换到A 2、方法: CreateProcess成功后EnableWindow(g_hWndHandle, FALSE);//g_hWndHandle为A窗体句柄 在B.exe退出后 EnableWindow(g_hWndHandle, TRUE);原创 2014-03-08 15:55:54 · 1295 阅读 · 1 评论 -
模态对话框和非模态对话框
模态对话框就是窗体显示出来后就不可以点选位于其下面的对话框,例如在需要选择路径的地方选择浏览后弹出的对话框就是模态对话框。 模态对话框:DoModal创建 EndDialog销毁 非模态对话框:Create创建 DestroyWindow销毁原创 2013-12-13 15:26:29 · 736 阅读 · 0 评论 -
MFC收到WM_KEYDOWN 没有收到WM_CHAR原因
WM_CHAR消息是在PretranslateMessage收到WM_KEYDOWN后转给系统,通过 return CWnd::PreTranslateMessage(pMsg); (一定不要RETURN TRUE)之后产生的WM_CHAR消息。 以前总以为按下按键后会产生两个消息WM_KEYDOWN和WM_CHAR,现在才明白是首先产生WM_KEYDOWN,通过TranslateMessage原创 2013-11-01 10:46:21 · 2571 阅读 · 0 评论 -
MFC程序如何退出
AfxGetMainWnd()->PostMessage(WM_COMMAND, ID_APP_EXIT); CWnd().DestroyWindow();原创 2013-06-18 10:18:39 · 1110 阅读 · 0 评论 -
MFC中PreTranslateMessage函数浅析
作用: PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码. MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,可以改变MFC的消息控制转载 2014-11-05 13:41:23 · 813 阅读 · 0 评论