在VC6.0及VS中添加對話框oninitdialog()函數的方法

OnInitDialog()函數是個virtual(虛函數),在它的類中用添加虛函數的方法,會發現添加的虛函數裏面沒有這個函數,而這個OnInitDialog函數是很有用的,在一般的添加進去的對話框的類中是不會有這個函數的,必須手工增加進去,當然不用手工寫代碼,手動添加時可能會出錯.可以通過VC加進去,而要加的這個函數的名字不是OnInitDialog,所以很難找到.其原因是因爲要加的函數是WM_INITDIALOG.

這個函數的添加方法是這樣的,選擇要加入函數的對話框,右鍵->ClassWiZard(類嚮導)->Message Maps(消息映射),對象裏面選擇對話框,Messages(消息)裏面選擇WM_INITDIALOG,然後點Add Function(增加函數),這樣就映射到類中去了,它的函數名稱是OnInitDialog,而不是WM_INITDIALOG.這時可以點Edit Fuction,編輯函數了.

 

      Visual studio   沒有舊風格class wizard了。所以無法像VC6.0那樣添加oninitdialog函數。

 

其方法是:首先添加CDialog對話框的類,方法是可以在對話框上點右鍵,在右鍵菜單裏點Add Class,然後打開剛纔添加的類的頭文件,在頭文件的類的聲明區裏按F4調出屬性窗口,在屬性窗口的工具欄裏找到Overrides點擊它會切換到重寫方法列表界面,在這個列表裏找到OnInitDialog,點後面的下拉組合框就有添加OnInitDialog了,點一下就可以把這個方法重寫到你的程序裏了。

 

還有兩個要注意的問題是:

 

一個是:子對話框添加類後,打開此類的頭文件,注意了:一定要確認鼠標光標處於類聲明的區域 ,這個時候再打開屬性窗口,點擊工具欄上的Overrides(重寫),裏面可以找到OnInitDialog.

 

如果鼠標沒處在類聲明的區域,屬性窗口就顯示的是當前頭文件的屬性,工具欄是不會有Overrides(重寫)這一項的。

 

另一個是:

 

ADD Class後 要在左邊文件列表上面選擇 show all files (顯示所有文件)後 再打開添加的類的頭文件 ....這樣才行的 .......

 

就是你爲子對話框添加完類後,在vs的左邊文件列表上選擇show all files。然後點擊進去你添加的類的頭文件。這時在(一般)右邊的屬性窗口裏會有一個圖標(Overrides)點擊它文章引用:http://hi.baidu.com/wei83523408/blog/item/b9400d190ad5034f43a9ad57.html

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/zhxu0926/archive/2010/02/25/5327453.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章