定制个性化的对话框窗口类
2010-07-20 20:45:54 来源:WEB开发网第一种:
1、打开这个对话框工程文件,打开 ResourceView。
2、打开 Resource Editor,右击对话框,选择选项 Properties,在对话框的属性项中 ,最下角是一个类名的输入项, 但是这一个选项是禁止的, 你无法在些输入类名, 因为你在这里是选择了 MFC 类库的
支持。为了使这个选项可以输入。如图所示,在Resource View 的最顶项选择右键->属性,就会弹出
一个资源文件属性对话框,把其中的 Enable MFC Features 的项设为禁止, 则对话框的类名就可以在在资源编辑器中设定了。(在Visual C++ 。NET,设置 MFC Mode property 属性为 FALSE)
第二种可供选择的方法就是修改 RC 文件和源代码! 在 CWinApp 的派生类的 Initinstance 函数中进行修改:
// 在派生类的 InitIntace() 中
BOOL CLimitDlgInstanceApp::InitInstance()
{
WNDCLASS wc;
// Get the info for this class。
// #32770 is the default class name for dialogs boxes。
::GetClassInfo(AfxGetInstanceHandle(), "#32770", &wc);
// Change the name of the class。
wc。lpszClassName = "MyPrivateClassName";
// Register this class so that MFC can use it。
AfxRegisterClass(&wc);
// ......
}
其中 ::GetClassInfo 保证了即使你的资源文件在不同的 Dll 中也能正确得到 HINSTANCE 跟着就是要修改资源文件了,用文本编辑器打开 rc 文件 ,加上" ClASS 类名 "如下图所示:
注意,如果你 rc 文件中的类名与 Initinstance 中的类名不一致,程序不会运行,这是非常重要的。切记。
结束语:
这只是一个小技巧,希望对于大家的开发有所帮助,例如在开发基于对话框的程序中,使应用程序只有一个运行实例,注册唯一的窗口类是非常有用的。或作一个进行程序监控的 时候,可以进行快速定位。
- ››定制个性化的对话框窗口类
- ››对话框模板RegexTest
- ››个性化你的Windows 7 Taskbar Thumbnail
- ››对话框打印预览及打印
- ››定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP ...
- ››定制基于 Visual studio 2005 平台 Windows CE(AR...
- ››定制版黑雨 blackra1n 越狱3.1.2 全系 iPhone
- ››定制 Eclipse RCP 应用程序,第 1 部分: 可与 SWT...
- ››个性化屏保轻松DIY 我有屏保专家
- ››定制AIX操作系统的shell环境
- ››定制任务栏上的系统菜单
- ››定制一个灵活的struts框架
更多精彩
赞助商链接