设为首页 加入收藏

TOP

VC++中定制个性化的对话框窗口类(二)
2012-11-04 15:10:05 来源: 作者: 【 】 浏览:453
Tags:定制 个性化 对话 窗口
  第一种:

  1、打开这个对话框工程文件,打开 ResourceView。





  2、打开 Resource Editor,右击对话框,选择选项 Properties,在对话框的属性项中 ,最下角是一个类名的输入项, 但是这一个选项是禁止的, 你无法在些输入类名, 因为你在这里是选择了 MFC 类库的 支持。为了使这个选项可以输入。如图所示,在Resource View 的最顶项选择右键->属性,就会弹出
一个资源文件属性对话框,把其中的 Enable MFC Features 的项设为禁止, 则对话框的类名就可以在在资源编辑器中设定了。(在Visual C++(www.cppentry.com) 。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 中的类名不一致,程序不会运行,这是非常重要的。切记。

  结束语:

  这只是一个小技巧,希望对于大家的开发有所帮助,例如在开发基于对话框的程序中,使应用程序只有一个运行实例,注册唯一的窗口类是非常有用的。或作一个进行程序监控的时候,可以进行快速定位。
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇VC中Windows常用控件的创建和使用 下一篇COM高手总结的八个经验和教训

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: