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

正文內(nèi)容

基于linux和minigui的嵌入式系統(tǒng)軟件開發(fā)指南畢業(yè)論文(參考版)

2025-06-21 15:48本頁面
  

【正文】 }通常而言,傳遞到對話框回調(diào)函數(shù)中的參數(shù)是一個結(jié)構(gòu)的指針,該結(jié)構(gòu)包含一些初始化對話框的數(shù)據(jù),同時也可以將對話框的輸入數(shù)據(jù)保存下來并傳遞到對話框之外使用。 break。 } case MSG_COMMAND: { /* 從窗口的附加數(shù)據(jù)中取出保存的對話框參數(shù) */ info = (struct _DepInfo*) GetWindowAdditionalData2 (hDlg)。 SetWindowAdditionalData2 (hDlg, (DWORD)lParam)。static int DepInfoBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam){ struct _DepInfo *info。用戶可以利用該值進(jìn)行對話框的初始化,或者保存起來以備后用。該消息是在 MiniGUI 建立根據(jù)對話框模板建立對話框以及控件之后,發(fā)送到對話框回調(diào)函數(shù)的。5 MSG_INITDIALOG 消息對話框回調(diào)函數(shù)是一類特殊的主窗口回調(diào)函數(shù)。DestroyAllControls 用來銷毀對話框(包括主窗口)中的所有子控件。在 DialogBoxIndirectParam 中,需要指定對話框模板(pDlgTemplate)、對話框的托管主窗口句柄(hOwner)、對話框回調(diào)函數(shù)地址(DlgProc),以及要傳遞到對話框過程的參數(shù)值(lParam)。1205 BOOL GUIAPI EndDialog (HWND hDlg, int endCode)。DlgInitProgress, hWnd, InitDialogBoxProc, 0L)。}static void InitDialogBox (HWND hWnd){ /* 將對話框和控件數(shù)組關(guān)聯(lián)起來 */ = CtrlInitProgress。 } break。 case MSG_COMMAND: switch (wParam) { case IDOK: case IDCANCEL: EndDialog (hDlg, wParam)。在定義了對話框模板數(shù)據(jù)之后,需要定義對話框的回調(diào)函數(shù),并調(diào)用DialogBoxIndirectParam 函數(shù)建立對話框,如清單 5 所示,所建立的對話框如圖 1 所示。清單 4 對話框模板的定義DLGTEMPLATE DlgInitProgress ={ WS_BORDER | WS_CAPTION, WS_EX_NONE, 120, 150, 400, 130, VAMCNC 正在進(jìn)行初始化, 0, 0, 3, NULL, 0}。然后定義對話框,指定對話框中的控件數(shù)目,并指定 DLGTEMPLATE 結(jié)構(gòu)中的 controls 指針指向定義控件的數(shù)組。在程序中,應(yīng)該首先利用 CTRLDATA 定義對話框中所有的控件,并用數(shù)組表示。1197 typedef DLGTEMPLATE* PDLGTEMPLATE。 // poiter to control array1195 DWORD dwAddData。 // dialog box menu1193 int controlnr。 // dialog box caption1191 HICON hIcon。 // dialog box extended style1189 int x, y, w, h。1184 1185 typedef struct1186 {1187 DWORD dwStyle。 // control extended style1182 } CTRLDATA。 // control caption1179 DWORD dwAddData。 // control position in dialog1177 int id。 // control class1175 DWORD dwStyle。在 MiniGUI 當(dāng)中,在建立對話框之前,首先需要定義一個對話框模板,該模板中定義了對話框本身的一些屬性,比如位置和大小等等,同時定義了對話框中所有控件的初始信息,包括位置、大小、風(fēng)格等等。它針對對話框的特殊性(即用戶交互)進(jìn)行了特殊設(shè)計(jì)。}4 對話框和對話框模板在 MiniGUI 中,對話框是一類特殊的主窗口,這種主窗口只關(guān)注與用戶的交互――向用戶提供輸出信息,但更多的是用于用戶輸入。 break。*/ old_edit_proc = SetWindowCallbackProc (hWnd1, RestrictedEditBox)。 CreateWindow (button, Close, WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE, IDC_CTRL4, 100, 100, 60, 24, hWnd, 0)。 CreateWindow (CTRL_STATIC, Normal edit box:, WS_CHILD | WS_VISIBLE | SS_RIGHT, 0, 10, 70, 180, 24, hWnd, 0)。 CreateWindow (CTRL_STATIC, Alphaonly box:, WS_CHILD | WS_VISIBLE | SS_RIGHT, 0, 10, 40, 180, 24, hWnd, 0)。 CreateWindow (CTRL_STATIC, Digitonly box:, WS_CHILD | WS_VISIBLE | SS_RIGHT, 0, 10, 10, 180, 24, hWnd, 0)。 } /* 由老的窗口過程處理其余消息 */ return (*old_edit_proc) (hwnd, message, wParam, lParam)。z39。amp。a39。Z39。amp。A39。 else if (my_style amp。939。039。amp。 /* 確定被屏蔽的按鍵類型 */ if ((my_style amp。清單 3 中的代碼就通過控件類創(chuàng)建了兩個子類化的編輯框,一個只能輸入數(shù)字,而另一個只能輸入字母:清單 3 控件的子類化define IDC_CTRL1 100define IDC_CTRL2 110define IDC_CTRL3 120define IDC_CTRL4 130define MY_ES_DIGIT_ONLY 0x0001define MY_ES_ALPHA_ONLY 0x0002static WNDPROC old_edit_proc。在 Windows 中,這種技術(shù)又稱為超類化。在 MiniGUI 中,這種技術(shù)稱為子類化或者窗口派生。}3 控件子類化采用控件類和控件實(shí)例的結(jié)構(gòu),不僅可以提高代碼的可重用性,而且還可以方便地對已有控件類進(jìn)行擴(kuò)展。StepClass)。 = StepControlProc。 = GetSystemCursor (IDC_ARROW)。 = STEP_CTRL_NAME。}static BOOL RegisterStepControl (){ int result。 case MSG_DESTROY: break。 /* 控件自定義的消息:用來設(shè)置當(dāng)前步驟信息 */ case MSG_SET_CURR_STEP: InvalidateRect (hwnd, NULL, FALSE)。 InvalidateRect (hwnd, NULL, TRUE)。 break。 /* 獲取步驟控件信息 */ info = (HELPWININFO*)GetWindowAdditionalData (hwnd)。 HELPWININFO* info。MSG_SET_CURR_STEP 消息用來指定當(dāng)前步驟,控件將高亮顯示當(dāng)前步驟。清單 2 中的程序,定義并注冊了一個自己的控件類。 901 BOOL GUIAPI SetWindowClassInfo (const WNDCLASS* pWndClass)。 899 char* GUIAPI GetClassName (HWND hWnd)。上述兩個函數(shù)以及和窗口類相關(guān)函數(shù)的原型如下(include/):897 BOOL GUIAPI RegisterWindowClass (PWNDCLASS pWndClass)。}用戶也可以通過 RegisterWindowClass 函數(shù)注冊自己的控件類,并建立該控件類的控件實(shí)例。 break。 hStaticWnd2 = CreateWindow (CTRL_STATIC, This is child static control, WS_CHILD | SS_NOTIFY | SS_SIMPLE | WS_VISIBLE | WS_BORDER, IDC_STATIC1, 20, 110, 100, 50, hStaticWnd1, 0)。 hButton2 = CreateWindow (CTRL_BUTTON, Button2, WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE, IDC_BUTTON2, 20, 50, 80, 20, hStaticWnd1, 0)。 switch (message) { case MSG_CREATE: { hStaticWnd1 = CreateWindow (CTRL_STATIC, This is a static control, WS_CHILD | SS_NOTIFY | SS_SIMPLE | WS_VISIBLE | WS_BORDER, IDC_STATIC1, 10, 10, 180, 300, hWnd, 0)。其中hStaticWnd1 是建立在主窗口 hWnd 中的靜態(tài)框;hButtonhButtonhEdithStaticWnd2則是建立在 hStaicWnd1 內(nèi)部的幾個控件,并作為 hStaticWnd1 的子控件而存在,建立了兩個按鈕、一個編輯框和一個靜態(tài)按鈕;而 hEdit2 是 hStaicWnd2 的子控件,是 hStaticWnd1 的子子控件。DestroyWindow 函數(shù)用來銷毀用上述兩個函數(shù)建立的控件或者子窗口。該函數(shù)同時指定子窗口的父窗口。 908 909 define CreateWindow(class_name, caption, style, id, x, y, w, h, parent, add_data) \ 910 CreateWindowEx(class_name, caption, style, 0, id, x, y, w, h, parent, add_data)CreateWindow 函數(shù)建立一個子窗口,即控件。與 CreateWindow 函數(shù)相關(guān)的幾個函數(shù)的原型如下(include/):904 HWND GUIAPI CreateWindowE
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1