如何修改 MFC Dialog 窗体的类名???

VS2005 的 MFC 工程(工程名: MobileLink),想要修改窗体的类名时,发现不是像设置窗口名一样调用一个函数可以实现的。

实现的注意问题,请看注释。

(1) 修改窗体资源 RC 文件:
//
// Dialog
//

IDD_MOBILELINK_DIALOG DIALOGEX 0, 0, 320, 200
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "MobileLink"
CLASS "MobileLinkClass"		// 增加的内容
FONT 9, "宋体", 0, 0, 0x1
BEGIN
    EDITTEXT        IDC_EDTRECV,68,148,245,14,ES_AUTOHSCROLL | ES_READONLY
    EDITTEXT        IDC_EDIT_SEND,7,121,242,14,ES_AUTOHSCROLL
    PUSHBUTTON      "Send Data",IDC_BTN_SEND,263,120,50,14,WS_DISABLED
    LTEXT           "Received Data:",IDC_STATIC,7,151,57,8
    PUSHBUTTON      "Server Enable",IDC_BTN_SERVER_ENABLE,7,94,89,14
    LTEXT           "IP:",IDC_STATIC,111,98,13,8
    LTEXT           "Port:",IDC_STATIC,235,98,21,8
    EDITTEXT        IDC_EDIT2,130,95,88,14,ES_AUTOHSCROLL | ES_READONLY
    EDITTEXT        IDC_EDIT3,262,95,40,14,ES_AUTOHSCROLL

(2) 修改 MobileLink.cpp 文件
SetRegistryKey(_T("应用程序向导生成的本地应用程序"));

	/* * * * * * * * * 增加的内容 start * * * * * * * * * */
	WNDCLASS wc;
	//?获取窗口类信息。MFC默认的所有对话框的窗口类名为 #32770
	if(::GetClassInfo(AfxGetInstanceHandle(), _T("#32770"), &wc))
	{
	    // 改变窗口类名
	    wc.lpszClassName = _T("MobileLinkClass");  // 特别注意: 此处的名称必须与修改 RC 时指定的 CLASS 相同。否则,程序启动时报错。
	    // 注册新窗口类,使程序能使用它
	    AfxRegisterClass(&wc);
	}
	/* * * * * * * * * 增加的内容 end * * * * * * * * * */

	CMobileLinkDlg dlg;
	m_pMainWnd = &dlg;
	INT_PTR nResponse = dlg.DoModal();
	if (nResponse == IDOK)
	{
		// TODO: 在此处放置处理何时用“确定”来关闭
		//  对话框的代码
	}
	else if (nResponse == IDCANCEL)
	{
		// TODO: 在此放置处理何时用“取消”来关闭
		//  对话框的代码
	}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

91program

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值