windows程式設計(三)

來源:互聯網
上載者:User

標籤:ar   os   使用   sp   on   bs   tt   nbsp   res   

MFC所有封裝類一共200多個,但在MFC的內部技術不只是簡單的封裝

MFC的內部總共有六大關鍵技術,架構起了整個MFC的開發平台

一.MFC的六大關鍵技術包括:

a).MFC程式的初始化過程

b).訊息映射機制

c).運行時類型識別(RTTI)

d).動態建立

e).永久儲存

f).訊息傳遞

六大關鍵技術的目的是為了提高開發效率,開發人員只要在局部做簡單的修改,即可處理大部分視窗事物

二.SendMessage和PostMessage函數的功能

a).能夠向指定的視窗內發送視窗訊息。既可以是本進程內視窗也可以是其他進程的

b).既可以發送系統內部訊息,訊息編號的範圍是:1-WM_USER-1)

     例如:WM_LBUTTONDOWN, WM_MOUSEMOVE等

c).也可以發送非系統訊息(開發人員定義的訊息),範圍號是:WM_USER-0x7FFF

d).在MFC下非系統訊息映射,使用宏定義時ON_MESSAGE

三.SendMessage和PostMessage函數的區別是:

a).SendMessage是阻塞型函數,PostMessage函數是非阻塞型函數

     SendMessage用於調用指定視窗的內部程式,直到視窗程序處理完成以後再返回

     PostMessage是將一個訊息寄送到一個視窗內的訊息佇列後就立即返回

b).兩個函數的傳回值不同

    LRESUL SendMessage(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM lParam);

    BOOL PostMessage(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM lParam);

    SendMessage的傳回值是訊息處理結果產生的數值,依賴於訊息處理函數

    PostMessage的傳回值是返送成功或失敗,一般很少失敗除非視窗不存在

c).跨線程或跨進程發送訊息,推薦使用PostMessage函數

windows程式設計(三)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.