理解windows訊息通告訊息和命令訊息!!!

來源:互聯網
上載者:User

今天工作中用到了一些東西,從而又進一步探究了一下windows的訊息機制!!!!

我的探究發現如下:

我的項目中要求在ATL中的複合控制項上動態建立static 控制項,並能夠拖動!!!

其中就涉及到了控制項的通告訊息的行程順序!!

當我在父視窗中攔截STN_CLICKED。然後又在建立static 的時候替換了它原來的視窗過程,使所有的static視窗過程都指向的我自己的視窗過程其中我就攔截了WM_LBUTTONDOWN這個訊息,開始我攔截了這個訊息之後,沒有讓原來的視窗過程處理,然後我發現我在父視窗中攔截的STN_CLICKED訊息不能響應了!這時候我才明白,所謂的WM_COMMAND,WM_NOTIFY訊息只是由我們的windows的標準訊息轉化而來的!!!

我猜測在原先的視窗過程中將WM_LBUTTONDOWN這個訊息進過轉化,然後再向父視窗發送STN_CLICKED訊息,並傳入響應參數!!!!!!!!!

windows為什麼要這樣做呢????

我想原因有以下:

首先 ,所有的windows common contrl 都具有接受windows 標準訊息,但是由於控制項的不同,所以我們應該針對不同的控制項,讓他產生不同的訊息,以示區分!

再者,因為不同控制項他們的功能各有不同。所以將標準訊息轉化成響應的WM_NOTIFY WM_COMMAND訊息,發送給父視窗,讓父視窗有處理子視窗的機會!

 

第三,通過對訊息的改裝過後,再在訊息中定義一些針對相應控制項的資料結構,這樣通過這個訊息傳送過來的資料結構有利於我們自己對這個控制項的操作!!!!

 

 

第四,還沒想到!!O(∩_∩)O~!!!!!!

有不對的地方還請各位高手指點!!!!!!

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.