Win32 Windows編程 十二

來源:互聯網
上載者:User

標籤:sdk   windows   win32   mfc   

一、對話方塊

1、對話方塊的分類

2、對話方塊的基本使用方式

3、對話方塊資源

4、有強制回應對話方塊的使用

5、 無強制回應對話方塊的使用

5.1 添加對話方塊資源

5.2 定義視窗處理函數

BOOL CALLBACK DialogProc(

HWND hWnd,

UINT UMsg,

WPARAM wParam,

LPARAM lParam

)

5.3 建立對話方塊

HWND CreateDialog(  HINSTANCE hInstance,  // handle to module  LPCTSTR lpTemplate,   // dialog box template name  HWND hWndParent,      // handle to owner window  DLGPROC lpDialogFunc  // dialog box procedure);
返回值是建立好的對話方塊視窗控制代碼

5.4 顯示對話方塊

ShowWindow

5.5 關閉對話方塊

EndDialog

5.6 與有強制回應對話方塊相比

建立函數:有模式建立對話方塊 DialogBox

無強制回應對話方塊; CreateDialog

程式執行方式:有強制回應對話方塊阻塞,禁止其他視窗輸入。

無強制回應對話方塊會立刻返回讓主程式繼續執行

6 對話方塊訊息

WM_INITDIALOG訊息,用途類似於WM_CREATE訊息,可以再對話方塊建立完成後 進行資料初始化

他與WM_CREATE不同的是,WM_INITDIALOG訊息會在對話方塊資源模板上的所有子控制項(按鈕等)建立完成後再發送給對話方塊視窗處理函數

wParam  - 當前接受輸入焦點子控制項視窗控制代碼

lParam - 建立時附帶的參數

7 對話方塊和普通視窗的對比

7.1 建立方式不同

普通視窗 CreateWindow/Ex

對話方塊: DialogBox/CreateDialog

7.2 訊息

普通視窗:會收到WM_CREATE

對話方塊: WM_INITDIALOG

7.3 關閉方式

普通視窗 : DestroyWindow等

對話方塊: EndDialog

二 子控制項

1 由 Windows系統定義的視窗類別型可以提供

相應的功能,包括按鈕,文本編輯框, 靜態框

2 空間的建立

都可以使用CreateWindow/CreateWindowEx建立, 並擷取到空間HWND。建立時每個子控制項都要有相應的ID號,

ID號盡量要求不重複。

1.3 控制項的訊息

子控制項和父視窗(一般視窗或者對話方塊)的交換都是通過訊息完成的。如果子視窗狀態發生變化,子視窗會向父視窗發送

相應的訊息,

一般父視窗會使用SendMessage向子視窗發送訊息,同時父視窗響應子視窗發送的訊息一般在WM_COMMAND中進行處理

三 靜態框

1 靜態框的建立

視窗類別的名稱 - STATIC, 用於視窗上顯示文字等,如果使用SS_ICON、SS_BITMAP風格可以顯示ICON和BITMAP

文本靜態框 - 建立時使用SS_SIMPLE即可

ICON靜態框 - 建立時使用SS_ICON, 並且將靜態框的視窗名稱設定成對應的ICON的資源ID號,例如 “#101”


2 靜態框的命令響應

2.1 驚天狂要添加SS_NOTIFY風格

2.2  WM_COMMAND 進行處理

WPARAM - HIWORD 命令ID

  LOWORD 靜態框的視窗ID

LPARAM - 靜態框創庫控制代碼

3 靜態框相關訊息











相關文章

聯繫我們

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