对话框程序更改窗口类名称

来源:互联网 发布:cips考试 知乎 编辑:程序博客网 时间:2024/05/23 00:41

对话框的默认窗口类名“#32770“

 

以下通过不同方式更改类名称

 

1.    打开工程的资源视图

2.    更改对话框资源的ClassName属性。有两种方法:

(1)

在需要更改类名的对话框资源上右击,选择“属性”,打开属性对话框,可以看到有一个名为“Class Name”的属性,我们在其中输入一个自己定义的名称(如“zhangweishuang”)即可。但是,MFC默认设置这个属性选项是灰色不可用的,我们先要开启它。切换到资源视图,右击根节点(如“XxxXxx.rc”),选属性,去掉勾选“Enable MFC Features”项(如果是VS.Net,把“MFC Mode property”项改为False)。这样就可以修改对话框的Class Name属性了,假如为"MyClassName"。

然后在BOOL CXXXXApp::InitInstance()方法的WNDCLASS wc;下方加上如下代码:

 //////////////////////注册新类名///////////////////////////
 // 获取窗口类信息。MFC默认的所有对话框的窗口类名为 #32770
 ::GetClassInfo(AfxGetInstanceHandle(), _T("#32770"), &wc);
 // 改变窗口类名
 wc.lpszClassName = _T("zhangweishuang");
 // 注册新窗口类,使程序能使用它
 AfxRegisterClass(&wc);
 ///////////////////////////////////////////////////////////

 

(2)

打开资源文件,修改对话框定义代码,插入CLASS项,如:

IDD_LIMITDLGINSTANCE_DIALOG DIALOGEX 0, 0, 195, 44
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "LimitDlgInstance"
CLASS "zhangweishuang" // Add your class name here!
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,138,7,50,14
    PUSHBUTTON      "Cancel",IDCANCEL,138,23,50,14
    PUSHBUTTON      "&Test!",IDC_BUTTON1,48,14,49,15
END

 

然后同上

//////////////////////注册新类名///////////////////////////
 // 获取窗口类信息。MFC默认的所有对话框的窗口类名为 #32770
 ::GetClassInfo(AfxGetInstanceHandle(), _T("#32770"), &wc);
 // 改变窗口类名
 wc.lpszClassName = _T("zhangweishuang");
 // 注册新窗口类,使程序能使用它
 AfxRegisterClass(&wc);
 ///////////////////////////////////////////////////////////

以上改变自网络,如有雷同,纯属抄袭~哈哈!