更改MFC对话框默认的窗口类名

本文详细介绍了如何在MFC窗口程序中修改默认类名#32770。通过调整资源视图中的MfcMode属性,更改ClassName,并在代码中注册新的窗口类名,实现窗口类名的自定义。

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("ChunGe");
	// 注册新窗口类,使程序能使用它
	AfxRegisterClass(&wc);

编译后,用SPY++查看,就能看到修改后的窗口类名了。

参考文献:https://blog.youkuaiyun.com/qq_37032670/article/details/76977382

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值