現在很多人都喜歡在“發送消息”等操作時直接用數字,往往又不知道什么數字代表什么意思,也無從查起。
比如,有人說16是關閉窗口,那么請問17是什么?絕大部分的人不知道,即使你去問C++高手,也是絕大部分不知道的。
當初微軟定義這些常量的時候,是為了讓這些枯燥的數字更好記憶、閱讀,可是現在很多易語言程序員卻反其道行之,實在是不好的習慣。
我來說一下“發送消息---SendMessage”的基本知識。希望對大家有用。
首先,英文并不可怕,提倡中文編程是好事,完全排斥英文就不是好事了。在微軟定義API、消息常量時,這些英文名稱都是有含義的,而且大部分是生活中常用的英文單詞。首先說一下SendMessage,這是Send(發送)+Message(消息)
再來說一下SendMessage的參數:
` SendMessage(窗口句柄,消息,參數1,參數2)`
消息一般為 WM_xxx相關的消息常量,比如WM_CLOSE,解釋一下這里的WM=Window Message=窗口消息,CLOSE=關閉,這樣一說就理解了吧?前兩三個字母代表消息類型,后面的就是含義了,這樣比你記數字不知道好多少。很多人用了那么久都不知道16是什么對不?可如果說Close的話,很多人都是知道的,畢竟這是常用英語單詞,不說別的,家里的DVD等就有寫類似單詞。
后面的參數1、2,根據不同的消息,代表不同的含義,具體需要查MSDN,在MSDN里每個消息都有說明。
` WM=Window(窗口)Message(消息)
WM_ACTIVATE=Window Message Activate(激活)
WM_COPY =Window Message Copy(復制)
WM_CLOSE =Window Message Close(關閉)`
理解了之后,其實“發送消息”是很容易通過自己查詢手冊來實現某些功能的。Windows就是通過消息機制來控制窗口的,多查一下這些消息常量,很多常用的窗口操作都可以實現。
在此,我建議大家平常多用消息常量,少用數字,因為數字實在太難讀了,根本沒法單獨從數字讀懂意思。
另外,在易語言里使用這些常量需要自己手工聲明,可能有的人嫌麻煩就直接填寫了數字,其實自動聲明常量的工具有很多,善用工具會讓你事半功倍。
比如: 古木常量查詢、windows消息查詢器易語言版 、易語言API助手、彗星小助手
補充:MSDN 的全稱是 Microsoft Developer Network。一般我們平常所說的MSDN是指MSDN Library,程序員必備手冊,涵蓋了微軟全套可開發產品線的技術開發文檔和科技文獻(部分包括源代碼)。