ON_CONTROL_RANGE 使用錯誤分析

ON_CONTROL_RANGE 這是一個消息宏

使用此宏映射控件 ID 的一個連續範圍到指定的窗口通知消息的單個消息處理函數,例如 BN_CLICKED,CBN_EDITCHANGE等

 ON_CONTROL_RANGE(wNotifyCode, id1, id2, memberFxn )

 wNotifyCode: 您的處理程序以響應的通知代碼。
 id1: 在控件 ID 開頭的一個連續範圍的命令 ID。
 id2: 命令 ID 在控件 ID 的結尾處的一個連續範圍。
 memberFxn: 控件映射消息處理函數的名稱。

1、注意這裏的ID一定是數字ID

#define IDC_EDIT8                       4010

是這個宏後邊的4010  不必糾結前邊英文ID是否是數字連續!!!

2、memberFxn

該函數一定是帶一個參數的函數,參數爲UINT類型

afx_msg void OnDoSomething(UINT nID);

該參數是比不可少的

3、當我知道這個宏出現問題的時候,我按照上邊說的一一改過,主要是對resource.h 文件中的宏進行了更改,然後就直接啓動調試或者生成解決方案又或者是生成XXX,這個時候程序會正常啓動,但是當顯示消息對應的對話框的時候會出現錯誤,觸發斷點。而清理解決方案後再進行上述操作則會正確了。

感覺上是上述操作沒有對resource.h文件進行再次的處理。

宏定義:C/C++程序提供的預處理功能之一。包括帶參數的宏定義和不帶參數的宏定義。具體是指用一個指定的標誌符來進行簡單的字符串替換或者進行闡述替換。

這裏有類似問題參看

發佈了18 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章