修改基于对话框的MFC程序的主窗口类名
来源:互联网 发布:蜂蜜在淘宝上好卖吗 编辑:程序博客网 时间:2024/05/16 18:43
在单文档对象模型中修改主窗口的类名只需 重载 PreCreateWindow 函数,并在其中填写如下代码即可
//BOOL CReporterDlg::PreCreateWindow(CREATESTRUCT& cs)//{//// TODO: 在此添加专用代码和/或调用基类//cs.lpszClass = "MyClassName";//return CDialog::PreCreateWindow(cs);//}
但对于基于对话框模式的MFC程序而言,打断点调试查看,重载的这个函数根本不被调用,所以如此修改就没有任何作用了
可以这样修改基于对话框的MFC的程序的类名
1、取消 Enable MFC Features
vc6.0 如下修改
VS2005 修改如下图
2、填写新的类名
vc++6.0
VS2005
3、注册MyClass窗口
BOOL CReporterApp::InitInstance(){if ( CheckAppIsOpen() ){return FALSE;}// 如果一个运行在 Windows XP 上的应用程序清单指定要// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,//则需要 InitCommonControlsEx()。否则,将无法创建窗口。INITCOMMONCONTROLSEX InitCtrls;InitCtrls.dwSize = sizeof(InitCtrls);// 将它设置为包括所有要在应用程序中使用的// 公共控件类。InitCtrls.dwICC = ICC_WIN95_CLASSES;InitCommonControlsEx(&InitCtrls);CWinApp::InitInstance();AfxEnableControlContainer();// 标准初始化// 如果未使用这些功能并希望减小// 最终可执行文件的大小,则应移除下列// 不需要的特定初始化例程// 更改用于存储设置的注册表项// TODO: 应适当修改该字符串,// 例如修改为公司或组织名//SetRegistryKey(_T("Tescomm Reporter"));WNDCLASS wndMyClass;::GetClassInfo(AfxGetInstanceHandle(), "#32770", &wndMyClass);
//这是为了获取模板中的设定好的窗口的大小,风格信息wndMyClass.lpszClassName = "MyClass";
//填写一个我们自己的类名,和上面资源中填写的名字要一致AfxRegisterClass(&wndMyClass);
//注册新的类名,这些要在新的对话框使用前实现CReporterDlg dlg;m_pMainWnd = &dlg;INT_PTR nResponse = dlg.DoModal();if (nResponse == IDOK){// TODO: 在此处放置处理何时用“确定”来关闭// 对话框的代码}else if (nResponse == IDCANCEL){// TODO: 在此放置处理何时用“取消”来关闭// 对话框的代码}// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,// 而不是启动应用程序的消息泵。return FALSE;}
- 修改基于对话框的MFC程序的主窗口类名
- 修改mfc对话框程序窗口类名
- MFC基于对话框程序启动时隐藏窗口的实现
- 更改MFC对话框默认的窗口类名
- 更改MFC对话框dialog默认的窗口类名classname
- 更改MFC对话框默认的窗口类名
- 更改MFC对话框默认的窗口类名
- 更改MFC对话框默认的窗口类名
- 如何更改MFC对话框默认的窗口类名
- 更改MFC对话框默认的窗口类名
- 将基于MFC的对话框应用程序修改为服务程序
- 将基于MFC的对话框应用程序修改为服务程序
- 将基于MFC的对话框应用程序修改为服务程序
- 将基于MFC的对话框应用程序修改为服务程序
- 将基于MFC的对话框应用程序修改为服务程序
- 将基于MFC的对话框应用程序修改为服务程序---------
- 基于对话框的MFC程序
- 如何修改MFC对话框的窗口标题
- 表格样式
- 专门收录android学习过程中不错的文章链接(经常更新中...)
- java中subSequence方法和subString方法的区别
- Linux环境进程间通信-共享内存
- 世界因你不同--李开复
- 修改基于对话框的MFC程序的主窗口类名
- manifest须知
- LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMT.lib
- 反射经典实例
- <学习笔记>Windows驱动开发技术详解__派遣函数
- QML-旋转、反折、变色字的实现!
- 项目模板与项模板的安装程序总结
- 探讨PHP页面跳转几种实现技巧
- Android问题集锦之八:调用其他程序中的activity和Permission Denial: starting Intent 错误解决办法