先說問題,今天發現刪除控件(如static),不會自動更新resource.h,而且修改static控件id,會在resource.h中同時記錄修改前後的兩個id,但後面的數值(1072)是相同的,下圖:
驗證,手動從窗體上刪除static控件 ,resource.h並不會自動更新。這樣就有個風險就是,resourc.h中的控件ID在代碼中農工仍然是可以被使用的,需要注意!
有次,手動刪除新添加的static後,編譯居然報錯了,查了下,還是因爲id修改的原因,屏蔽掉resource.h中的定義就好了。
你只需複製粘貼就行了。就象下面這段:
IDD_JK_DIALOG DIALOGEX 0, 0, 320, 200
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "jk"
FONT 9, "宋體"
BEGIN
PUSHBUTTON "學號",IDC_BUTTON1,25,75,62,22
PUSHBUTTON "姓名",IDC_BUTTON2,179,75,64,24
EDITTEXT IDC_EDIT1,105,75,57,24,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT2,261,75,46,24,ES_AUTOHSCROLL
END
你可以複製到你新的工程裏去。方法是用記事本打開.rc文件然後粘貼進去。
vc可能會提示IDD_JK_DIALOG IDC_BUTTON1,IDC_BUTTON2,IDC_EDIT1,IDC_EDIT2沒有定義,這時你只需要用記事本打開resource.h
在裏面加:
#define IDD_JK_DIALOG 102
#define IDC_BUTTON1 1000
#define IDC_BUTTON2 1001
#define IDC_EDIT1 1002
#define IDC_EDIT2 1003
如果你需要做一個有很多控件的對話框,但是以前做過一個一樣的對話框,這時你就可以使用這種方法。