WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院软件开发VC 定制个性化的对话框窗口类 阅读

定制个性化的对话框窗口类

 2010-07-20 20:45:54 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劕鐏氱€氼剟姊洪崹顕呭剰闁逞屽墮缁夊綊寮婚妸褉鍋撻棃娑欏暈闁伙綀浜埀顒傛暬閸嬪﹪宕伴弽褏鏆﹂柨鐕傛嫹
核心提示:第一种:1、打开这个对话框工程文件,打开 ResourceView,定制个性化的对话框窗口类(2),2、打开 Resource Editor,右击对话框,注册唯一的窗口类是非常有用的,或作一个进行程序监控的 时候,选择选项 Properties,在对话框的属性项中

第一种:

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 中的类名不一致,程序不会运行,这是非常重要的。切记。

结束语:

这只是一个小技巧,希望对于大家的开发有所帮助,例如在开发基于对话框的程序中,使应用程序只有一个运行实例,注册唯一的窗口类是非常有用的。或作一个进行程序监控的 时候,可以进行快速定位。

上一页  1 2 

Tags:定制 个性化 对话框

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接