
MFC
jigetage
这个作者很懒,什么都没留下…
展开
-
未声明的标识符ERROR C2065
未声明的标识符ERROR C2065解决方法: 1,调整该类的class.h和class.cpp文件所包含的头文件的位置,一般情况下:#include "stdafx.h"#include "xxx.h"//应用程序的头文件类,类名为CxxxApp,且此头文件 中包含有resource.h头文件#include "resource.h"#inclu原创 2016-06-03 00:18:21 · 2774 阅读 · 0 评论 -
MFC中如何处理自定义消息
假设自定义消息号是WM_TEST,消息处理函数是OnTest,处理该消息的对话框指针是m_pTestDlg,则进行自定义消息处理的步骤主要有以下: 1、定义消息号,建议在stdafx.h中进行定义#define WM_TEST WM_USER+1 //! 自定义消息 2、在响应该消息的对话框头文件中找到DECLARE_MESSAGE_MAP()宏,在该宏定义的前面添加消息处理函数声明afx_ms原创 2017-01-26 11:31:19 · 2427 阅读 · 0 评论 -
MFC 窗口创建与销毁过程中发生的一些事情...
应用MFC最关键的就是窗口的创建与销毁,那么在这个两个过程中都发生了一些什么呢? 1,创建 创建模态窗口://创建一个模态对话框 CTestDialog td; td.DoModal(); 备注: 可以创建一个布局模态对话框类变量,不用担心它会随着所在函数返回而被销毁。因为DoModal()函数的一个功能是,当前只能运行此模态对话框,且停止主窗口的运行,直到模态对话框退原创 2016-06-19 01:50:19 · 5053 阅读 · 0 评论 -
在头文件中使用class进行前置声明
当定义类A需要使用到类B的时候,可以采用前置声明的方法: 在类A的.h头文件中添加class B;随后在类A的声明中添加B *cb;并在类A的.cpp实现文件中添加#include <b.h>采用前置声明的方法,可以避免当类A和类B互相调用时候产生死循环,并节约编译时间,因为A的头文件中只是使用了B的指针对象,此时并不需要展开类B,如果在类A中使用include的方式的话就需要展开类B了,浪费编译原创 2016-07-23 23:36:20 · 3803 阅读 · 0 评论 -
ERROR C2514:XXX类没有构造函数
今天在自动化测试工具中添加【重置】测试项时,在主控的.h头文件中通过class CResetTest;的方式引入了测试项的类,但是在主控的.cpp实现文件中调用该类时,提示 ERROR C2514:CResetTest类没有构造函数的错误。很明显,二逼也不会在新建一个类的时候不添加构造函数的,那这是为什么呢? 原来是因为在在主控的.cpp实现文件中需要通过include包含测试项类所在的头文原创 2016-06-07 00:49:27 · 3746 阅读 · 0 评论 -
VS2005 debug版本正常而release版本出现: ERROR LNK2005
很奇怪,今天在做老化工具过程中,从自动化工具中直接拷贝古来了telnetmulti功能文件之后,就出现了debug版本编译正常通过,而release版本编译出现找不到某个.lib文件的现象,原因如下: 链接器选择的运行时库错误。运行时库的正确选择规则:1:单线程 (libc.lib) libcmt.lib、msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib原创 2016-06-07 00:42:20 · 1454 阅读 · 0 评论 -
MFC:窗口指针、窗口句柄和窗口ID的相互转换
接触MFC一段时间了,发现在进行窗口操作时,最频繁使用的就是指针、句柄和ID的相互转换了,总结了一套方法如下:假设对于同一个窗口而言,其指针是pWnd,句柄是hWnd,ID是nID,那么三者相互转换了方法如下:指针->句柄:hWnd = pWnd->GetSafeHwnd();ID->句柄:hWnd = ::GetDlgItem(hParentWnd, ID);句柄->指针:p原创 2016-06-06 01:11:02 · 5317 阅读 · 0 评论 -
得到窗口句柄的几种方法
最近一直在做MFC的项目,界面想要做的出色,窗口一定要操作熟练,那就得依靠窗口的句柄了。 转载了一下得到窗口句柄的几种方法: AfxGetMainWnd AfxGetMainWnd获取自身窗口句柄 HWND hWnd = AfxGetMainWnd()->m_hWnd;GetTopWindow 函数功能:该函数检查与特定父窗口相联的子窗口z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z转载 2016-06-04 01:05:55 · 11343 阅读 · 0 评论 -
如何从窗口句柄得到窗口的指针
1,找到窗口句柄。HWND hWnd = ::FindWindow(CDialog, _T("dialog"));//得到窗口句柄2,得到窗口的指针CDialog *pWnd = (CDialog*)FromHandle(hWnd);//有上述所得句柄得到窗口的指针3,调用指针pWnd->method();原创 2016-06-04 01:00:19 · 2510 阅读 · 0 评论 -
GetClientRect/GetWindowRect/ScreenToClient/ClientToWindow
GetWindowRect: 函数功能:该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。 函数原型:BOOL GetWindowRect(HWND hWnd,LPRECTlpRect)在Visual Studio 2005中,函数原型为void GetWindowRect(LPRECT lpRect) const。CWnd::GetClientRect 函数功能原创 2016-06-04 00:56:04 · 1650 阅读 · 0 评论 -
windows如何根据句柄hwnd显示和隐藏窗口
第一步,如何获取句柄?答案:通过FindWindow函数获取,参数有两个,分别为窗口名和窗口所属类的类名,输入一个即可,另一个可以为NULL。返回值是HWND类型。需要的头文件是#include <Windows.h>,库为user32.dll。第二步,如何通过句柄显示或者隐藏窗口?答案,有2种方法。1:// 显示窗口ShowWindow(hWnd, SW_SH...原创 2018-12-20 11:40:13 · 10078 阅读 · 3 评论