freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

open第5章minigui程序設計-資料下載頁

2025-01-18 02:24本頁面
  

【正文】 ? ID_STATIC, 80, 100, 200, 20, hDlg, 0)。 ? SetNotificationCallback (hwnd, my_notif_proc)。 ? return 0。 ? 通知碼: 基本控件 —— 按鈕 ? 按鈕實例 基本控件 —— 按鈕 ? 普通按鈕是一個矩形,其中顯示了通過 CreateWindow 傳遞的窗口標題。該矩形占用了在 CreateWindow 調用中給出的全部高度和寬度,而文字位于矩形的中心。 普通按鈕 : ? 按鈕控件主要用來觸發(fā)一個立即回應的動作,并且不會長久保持開關信息。這種形態(tài)的按鈕控件有兩種窗口風格, 分別叫做 BS_PUSHBUTTON 和BS_DEFPUSHBUTTON。 BS_DEFPUSHBUTTON 中的“ DEF” 代表“默認”。 ? 當用來設計對話框時, BS_PUSHBUTTON風格和 BS_DEFPUSHBUTTON 風格的作用不同,具有 BS_DEFPUSHBUTTON 的按鈕將是默認接收 ENTER 鍵輸入的按鈕,而不管當前的輸入焦點處于哪個控件上。 ? 但是當用作普通主窗口的控件時,兩種型態(tài)的按鈕作用相同,只是具有 BS_DEFPUSHBUTTON 風格的按鈕的邊框要粗一些。 ? 按鈕文本會以單行的形式在垂直和水平方向居中顯示,不會自動換行。不過,應用程序也可以通過指定 BS_MULTLINE 風格來指定顯示多行文本。 普通 按鈕 風格: 普通 按鈕 風格: { button, WS_VISIBLE | BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP, 80, 220, 70, 28, IDOK, 確定 , 0 } ? 應用程序通過給按鈕發(fā)送消息來實現(xiàn)如下目的: ? 查詢 /設置復選框或者單選鈕的選中狀態(tài): ? BM_GETCHECK、 BM_SETCHECK ? 查詢 / 設置普通按鈕或者復選框的按下或釋放狀態(tài): ? BM_GETSTATE 、 BM_SETSTATE ? 獲取 /設置位圖按鈕上的位圖或者圖標: BM_GETIMAGE、 ? BM_SETIMAGE ? 發(fā)送 BM_CLICK 模擬用戶鼠標的單擊操作 按鈕消息 : ? 具有 BS_NOTIFY 風格的按鈕可產(chǎn)生的通知碼主要有 : ?? ? BN_CLICKED:表明用戶單擊此按鈕。該通知碼的值為 0,因此,如果要在按鈕的父窗口中處理該按鈕發(fā)送過來的 BN_CLICKED 通知消息, 只需判斷 MSG_COMMAND 消息的 wParam 參數(shù)是否等于按鈕的標識符即可。該通知的產(chǎn)生是默認的,將忽略按鈕控件的 BS_NOTIFY 風格。 ? BN_PUSHED:表明用戶將此按鈕按下。 ? BN_UNPUSHED:表明用戶將此按鈕釋放。 ? BN_DBLCLK:表明用戶在此按鈕上進行了鼠標左鍵的雙擊操作。 ? BN_SETFOCUS:表明按鈕獲得了輸入焦點。 ? BN_KILLFOCUS:表明按鈕失去了輸入焦點。 按鈕通知碼 : ? static void my_notif_proc (HWND hwnd, int id, int nc, DWORD add_data) ? { ? if (nc == BN_CLICKED) { ? SetWindowText (GetDlgItem (GetParent (hwnd), IDC_PROMPT), prompts [id IDC_LAMIAN])。 ? } ? } 按鈕通知碼 : 對話框 對話框演示程序 ? 簡單而言,模態(tài)對話框就是顯示之后,用戶不能再切換到其他主窗口(同線程內(nèi))進行工作的對話框,而只能在關閉之后,才能使用其他的主窗口。 ? MiniGUI 中,使用 DialogBoxIndirectParam 函數(shù)建立的對話框就是模態(tài)對話框。 ? 實際上,該對話框首先根據(jù)模板建立對話框,然后禁止其托管主窗口,并在主窗口的 MSG_CREATE 消息中創(chuàng)建控件,之后發(fā)送 MSG_INITDIALOG消息給回調函數(shù),最終建立一個新的消息循環(huán),并進入該消息循環(huán),直到程序調用 EndDialog函數(shù)為止。 ? 非模態(tài)可以切換,不禁用托管主窗口。 模態(tài)與非模態(tài) ? 對話框是一種特殊的主窗口,應用程序一般通過DialogBoxIndirectParam 函數(shù)創(chuàng)建對話框。需準備對話框模板和對話框的窗口過程函數(shù)。 ? 按下 “ 確定 ” 按鈕或者關閉對話框時,調用 EndDialog 用來結束對話框過程。 ? DestroyAllControls 用來銷毀對話框(包括主窗口)中的所有子控件。 對話框: ? 對話框是一種特殊的主窗口,應用程序一般通過DialogBoxIndirectParam 函數(shù)創(chuàng)建對話框: ? int GUIAPI DialogBoxIndirectParam (PDLGTEMPLATE pDlgTemplate,HWND hOwner, WNDPROC DlgProc, LPARAM lParam)。 ? 該函數(shù)建立的對話框稱為模態(tài)對話框。用戶需要為此函數(shù)準備對話框模板和對話框的窗口過程函數(shù)。 模態(tài)對話框創(chuàng)建: ? 在 MiniGUI 中,用兩個結構來表示對話框模板:控件數(shù)組和對話框模板。先介紹一下控件數(shù)組。 typedef struct { char* class_name。 // control class DWORD dwStyle。 // control style int x, y, w, h。 // control position in dialog int id。 // control identifier const char* caption。 // control caption DWORD dwAddData。 // additional data DWORD dwExStyle。 // control extended style } CTRLDATA。 typedef CTRLDATA* PCTRLDATA。 對話框模板 : define IDC_PROMPTINFO 100 define IDC_OK 110 //對話框模版,設置各個控件的屬性 static CTRLDATA CtrlInitProgress [] = { { static, WS_VISIBLE | SS_SIMPLE, 10, 10, 380, 16, IDC_PROMPTINFO, 你好! , 0 }, { button, WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON, 170, 70, 60, 25, IDC_OK, 確定 , 0 } }。 對話框模板: ? 對話框模板 typedef struct { DWORD dwStyle。 // dialog box style DWORD dwExStyle。 // dialog box extended style int x, y, w, h。 // dialog box position const char* caption。 // dialog box caption HICON hIcon。 // dialog box icon HMENU hMenu。 // dialog box menu int controlnr。 // number of controls PCTRLDATA controls。 // poiter to control array DWORD dwAddData。 // addtional data, must be zero } DLGTEMPLATE。 typedef DLGTEMPLATE* PDLGTEMPLATE。 對話框模板: ? //對話框模 板 ,設置對話框的屬性 static DLGTEMPLATE DlgInitProgress = { WS_BORDER | WS_CAPTION, WS_EX_NONE, 120, 150, 400, 130, DEMO, 0, 0, 2, NULL, 0 }。 對話框模板: ? 結構 CTRLDATA 用來定義控件, DLGTEMPLATE 用來定義對話框本身。 ? 在程序中,應該首先利用 CTRLDATA 定義對話框中所有的控件,并用數(shù)組表示??丶谠摂?shù)組中的順序,也就是對話框中用戶按 TAB 鍵時的控件切換順序。 ? 然后定義對話框,指定對話框中的控件數(shù)目,并指定 DLGTEMPLATE 結構中的 controls 指針指向定義控件的數(shù)組。 對話框模板: ? 在定義了對話框模板數(shù)據(jù)之后, 需要定義對話框的回調函數(shù), 并調用 DialogBoxIndirectParam 函數(shù)建立對話框。 ? 對話框回調函數(shù)是一類特殊的主窗口回調函數(shù)。 ? 用戶在定義自己的對話框回調函數(shù)時,需要處理 MSG_INITDIALOG 消息。該消息是在 MiniGUI 根據(jù)對話框模板建立對話框以及控件之后,發(fā)送到對話框回調函數(shù)的。 ? 該消息的 lParam 參數(shù)包含了由 DialogBoxIndirectParam 函數(shù)的第四個參數(shù)傳遞到對話框回調函數(shù)的值。用戶可以利用該值進行對話框的初始化, 或者保存起來以備后用。 對話框回調函數(shù) ? static int InitDialogBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam) ? { ? switch (message) { ? //注意這個和主窗口創(chuàng)建的區(qū)別,這個是對話框特有的,在主窗口基礎上增添的。和 CREATE一個時機發(fā)送出來的。 ? case MSG_INITDIALOG: ? SetWindowText(GetDlgItem(hDlg,IDC_PROMPTINFO),您好!??! )。 ? return 1。 ? ? //處理通知消息 ? case MSG_COMMAND: ? switch (wParam) { ? case IDOK: ? case IDCANCEL: ? EndDialog (hDlg, wParam)。 ? break。 ? } ? break。 ? ? } ? ? return DefaultDialogProc (hDlg, message, wParam, lParam)。 ? } 對話框回調函數(shù) ? static void InitDialogBox (HWND hWnd) ? { ? //制定對話框模版 ? = CtrlInitProgress。 ? ? DialogBoxIndirectParam (amp。DlgInitProgress, hWnd, InitDialogBoxProc, 0L)。 ? } 對話框創(chuàng)建 菜單 ? 在程序中, 我們首先要建立菜單, 然后將菜單句柄傳遞給創(chuàng)建主窗口的函數(shù) CreateMainWindow。 ? 當主窗口顯示出來時,我們創(chuàng)建的菜單就會在標題欄下顯示出來。 ? 當用戶用鼠標或者 Alt 鍵激活菜單并選擇了菜單項后, 該菜單所依附的窗口會收到 MSG_COMMAND 消息。 ? 菜單的創(chuàng)
點擊復制文檔內(nèi)容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1