今日發現奇怪的問題:
1) 系統中有一個已經使用多時的對話框,在對話框上添加一個按鈕。
2) 在按鈕上右鍵,選擇”添加成員變量”。
3) 通常情況下,VS2010會彈出如下所示的對話框用于輸入成員變量的信息。
但是,今天并沒有。
新建一個對話框,并重複上述步驟,沒有出現此問題。于是,對出現問題的對話框和正常情況的對話框進行全方位對比,發現
1) 兩者對應的類的頭文件和實現文件并無明顯差異,說明不是因為代碼文件導緻的。
2) 兩者的屬性并無明顯差異,說明不是因為對話框的屬性導緻的。
3) 對話框ID,發現在出問題的對話框上,定義同一數值的兩個不同名稱的ID。如下:
#define IDD_DIALOG1 328
#define IDD_DIALOG_TEST 328
查看該對話框頭文件,發現使用的是
enum { IDD = IDD_DIALOG1 };
但是,此時對話框在資源視圖中的ID已經定義為:IDD_DIALOG_TEST。
至此,解決方法就簡單了:直接修改代碼,将ID改為IDD_DIALOG_TEST即可。
所以,此問題的原因出在頭文件中對話框的ID定義和資源視圖中的ID不一緻導緻的。
溫馨提醒:需要新增對話框和控件時,盡量避免出現值相同但名稱不同的ID,經常性的檢查一下resource.h文件,查看有哪些未使用的ID,盡早删除。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!