|
更改MFC对话框默认的窗口类名
MFC窗口程序的默认类名是"#32770",而且MFC窗口程序不支持动态修改类名,也就是不能像窗口标题那样用this->SetWindowText(L"春哥纯爷们"); 来修改窗口类名。
在主程序窗口的属性中有"Class Name"属性,但是默认它是灰色的不可选状态,如图:
需要在资源视图窗口中在××××.rc(×是你的工程名),上右键,选择属性把Mfc Mode改成False,默认是True。
然后"Class Name"属性就可以编辑了。我们随便起一个名字比如至高神春哥,类名改为"ChunGe"。到这一步还没完,我们还需要在代码中注册新的窗口类名,在工程的构造函数也就是:
C×××Dlg::C×××Dlg(CWnd* pParent /*=NULL*/)
在构造函数内加入以下代码:
- WNDCLASS wc;
- // 获取窗口类信息。MFC默认的所有对话框的窗口类名为 #32770
- ::GetClassInfo(AfxGetInstanceHandle(), _T("#32770"), &wc);
- // 改变窗口类名
- wc.lpszClassName = _T("xxxxClass");
- // 注册新窗口类,使程序能使用它
- AfxRegisterClass(&wc);
复制代码
编译后,用SPY++查看,就能看到修改后的窗口类名了。
|
|