MFC ID命名和數字約定

2022-09-16 22:30:23 字數 786 閱讀 8997

今天早上雙擊乙個剛剛編譯完成的應用程式,介面剛剛顯示,又自動觸發了乙個選單事件,開啟了乙個網頁。真的很意外。關閉視窗,再次雙擊,又自動開啟了乙個網頁,再關閉,再雙擊,又不自動開啟網頁了。這是什麼情況?

看到最後一位回覆者(sxslyy)的內容:

見mfc   windows   程式設計   第199頁   id要為16的倍數,因為windows保留系統選單id的低四位自己用,所以使用其中的任何一位,您都可能得到意外的結果. 

我才明白,原來選單的id不能隨便設定值,不然會遇到意想不到的結果。

接著又找到一篇來自微軟的文章:

id命名和數字約定

才明白,選單(menu)id,圖示資源(icon)id,控制項id都有自各不同的取值範置。

關於自定義訊息值的範圍

在**中實現了乙個自定義的訊息 sendmessage() ,今天無意發現原來自定義的訊息umsg的值需要大於wm_user,比如 wm_user+1,就行了,再看我原來設定的值:12345,還好沒什麼問題。

wm_user (值:1024)

為了防止使用者定義的訊息id與系統的訊息id衝突,ms(microsoft)定義了乙個巨集wm_user,小於wm_user的id被系統使用,大於wm_user的id被使用者使用。

2012-09-22

6 命名約定

最重要的一致性規則是命名管理.命名風格快速獲知名字代表是什麼東東 型別?變數?函式?常量?巨集 甚至不需要去查詢型別宣告.我們大腦中的模式匹配引擎可以非常可靠的處理這些命名規則.命名規則具有一定隨意性,但相比按個人喜好命名,一致性更重,所以不管你怎麼想,規則總歸是規則.tip函式命名,變數命名,檔案...

Google C 命名約定

最重要的一致性規則是命名管理.命名風格快速獲知名字代表是什麼東東 型別?變數?函式?常量?巨集 甚至不需要去查詢型別宣告.我們大腦中的模式匹配引擎可以非常可靠的處理這些命名規則.命名規則具有一定隨意性,但相比按個人喜好命名,一致性更重,所以不管你怎麼想,規則總歸是規則.tip函式命名,變數命名,檔案...

C 命名約定

駝峰原則,即除第乙個單詞首字母小寫,其它大寫,如 int firstnumber 當然,還有一種基於駝峰原則的叫做匈牙利法,首字母指明了變數的型別如 int ifirstnumber i表示變數型別為int隨著ide的改進,游標會提示變數的型別,但是個人認為匈牙利法仍具有重要意義,因為它一目了然!帕...