日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(17)DialogBox和DialogBoxParam函数

發布時間:2024/8/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (17)DialogBox和DialogBoxParam函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對話框是比較常用的窗口,比如當你想讓用戶輸入一些參數時就可以使用對話框。或者提示一些警告的信息,都是可以使用對話框的。比如當你拷貝文件時,Windows就會提示一個拷貝文件的進度對話框。對話框的使用范圍比較廣,并且它在設計時就可以看到運行的結果模樣,這樣方便設計。但對話框又分為兩類,一種對話框運行后,一定要用戶關閉那個對話框后才能返回到父窗口;一種對話框是不需要關閉后就可以直接返回父窗口。因此,軟件開發人員就要考慮這個對話框的結果是否會影響后面的操作,如果這個對話框的結果跟后面的操作沒有因果關系的,可以設置為第二種對話框。像拷貝文件的對話框就是第二種的對話框,稱作無模式的對話框。如果設置為第一類,非要等那里拷貝文件才可以去操作其它東西,那么Windows就不方便使用了,這樣會浪費大量的時間。讓人等待,就是一個不好用的軟件,所以軟件開發人員設計軟件時,要站在用戶的立場思考問題,在保持軟件正確的情況下,不要讓人等待,任何讓人等待超過20秒以上的軟件,會讓用戶煩躁不安。如果非要等待的話,也要加入進度條對話框提示,這樣可以有效地緩解用戶煩躁不安的心情。這就跟你去銀行排隊時,可以坐在那里看著電視,感覺不到時間長的道理一樣的。 函數DialogBox函數和DialogBoxParam函數聲明如下: #define DialogBoxA(hInstance, lpTemplate, hWndParent, lpDialogFunc) / DialogBoxParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) #define DialogBoxW(hInstance, lpTemplate, hWndParent, lpDialogFunc) / DialogBoxParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) #ifdef UNICODE #define DialogBox?DialogBoxW #else #define DialogBox?DialogBoxA #endif // !UNICODE WINUSERAPI INT_PTR WINAPI DialogBoxParamA( ???__in_opt HINSTANCE hInstance, ??? __in LPCSTR lpTemplateName, ??? __in_opt HWND hWndParent, ??? __in_opt DLGPROC lpDialogFunc, ??? __in LPARAM dwInitParam); WINUSERAPI INT_PTR WINAPI DialogBoxParamW( ??? __in_opt HINSTANCE hInstance, ??? __in LPCWSTR lpTemplateName, ??? __in_opt HWND hWndParent, ??? __in_opt DLGPROC lpDialogFunc, ??? __in LPARAM dwInitParam); #ifdef UNICODE #define DialogBoxParam?DialogBoxParamW #else #define DialogBoxParam?DialogBoxParamA #endif // !UNICODE hInstance是當前應用程序的實例句柄。 lpTemplateName是對話框的資源模板。 hWndParent是父窗口的句柄。 lpDialogFunc是對話框的消息處理函數。 ????? dwInitParam是初始化參數,這里缺省設置為0 調用這個函數的例子如下: #001?// #002?//?目的:?處理主窗口的消息. #003?// #004?//?蔡軍生?2007/07/12?? QQ:9073204 #005?// #006?LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) #007?{ #008??int wmId, wmEvent; #009??PAINTSTRUCT ps; #010??HDC hdc; #011? #012??switch (message) #013??{ #014??case WM_COMMAND: #015???????? wmId??? = LOWORD(wParam); #016???????? wmEvent = HIWORD(wParam); #017???????? // 菜單選項命令響應: #018???????? switch (wmId) #019???????? { #020???????? case IDM_ABOUT: #021?????????????? DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); #022?????????????? break; #023???????? case IDM_EXIT: #024?????????????? DestroyWindow(hWnd); #025?????????????? break; #026???????? default: #027?????????????? return DefWindowProc(hWnd, message, wParam, lParam); #028???????? } #029???????? break; #030??case WM_PAINT: #031???????? hdc = BeginPaint(hWnd, &ps); #032???????? // #033???????? EndPaint(hWnd, &ps); #034???????? break; #035??case WM_DESTROY: #036???????? PostQuitMessage(0); #037???????? break; #038??default: #039???????? return DefWindowProc(hWnd, message, wParam, lParam); #040??} #041??return 0; #042?} 21行就是調用函數DialogBox來顯示對話框窗口。 對話框的模板如下: / // // Dialog // IDD_ABOUTBOX DIALOGEX 22, 17, 230, 75 STYLE DS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "關于" FONT 9, "新宋體", 400, 0, 0x86 BEGIN ??? ICON??????????? IDI_TESTWIN,IDC_MYICON,14,9,21,21 ??? LTEXT?????????? "TestWin Version 1.0",IDC_STATIC,49,10,119,8,SS_NOPREFIX ??? LTEXT?????????? "Copyright (C) 2007",IDC_STATIC,49,20,119,8 ??? DEFPUSHBUTTON?? "確定",IDOK,185,51,38,16,WS_GROUP END IDD_ABOUTBOX是對話框模板的名稱。 DIALOGEX是對話框定義的關鍵字。 22, 17, 230, 75是對話框的坐標和大小。 STYLE是設置對話框的顯示類型。 CAPTION是定義標題名稱。這里是"關于" FONT是定義對話的字體。 ICON是定義一個圖標顯示。 LTEXT是定義顯示靜態文本。 DEFPUSHBUTTON是定義一個按鈕。

消息響應函數:
  • BOOL?CALLBACK?DialogProc(
  • ?????????????????????????HWND?hwndDlg,??//?handle?to?dialog?box
  • ?????????????????????????UINT?uMsg,?????//?message
  • ?????????????????????????WPARAM?wParam,?//?first?message?parameter
  • ?????????????????????????LPARAM?lParam??//?second?message?parameter
  • ?????????????????????????)
  • {
  • ????switch(uMsg)??
  • ????{??
  • ????????case?WM_INITDIALOG:??
  • ????????????return?TRUE;??
  • ????????????
  • ????????case?WM_COMMAND:??
  • ????????????switch(LOWORD(wParam))??
  • ????????????{??
  • ????????????case?IDOK:??
  • ????????????case?IDCANCEL:??
  • ????????????????EndDialog(hwndDlg,LOWORD(wParam));??
  • ????????????????break;??
  • ????????????}??
  • ????????????return?TRUE;
  • ????????????default:??
  • ????????????????break;??
  • ????}??
  • ????
  • ??????????return?FALSE;???
  • }

  • 總結

    以上是生活随笔為你收集整理的(17)DialogBox和DialogBoxParam函数的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 毛片在线不卡 | 无码h黄肉3d动漫在线观看 | 成 人 免费 黄 色 | 成人免费视频国产免费麻豆 | 国产精品无码天天爽视频 | 狠狠操操| 国产区一区| 手机在线观看av | 久久亚洲天堂网 | 亚洲欧洲精品在线 | 成人在线不卡视频 | 这里只有精品免费视频 | 国产一区二区三区黄 | 一区二区三区www | 日本后进式猛烈xx00动态图 | 欧美一区二区三区四区五区六区 | 亚洲一区二区三区日韩 | 自拍三级视频 | 日韩美女一区二区三区 | 天堂视频免费 | 高清无打码 | 老司机午夜av | 色综合精品 | 综合精品久久 | 一级片免费在线播放 | 东方伊甸园av在线 | 中文一二区 | 日韩黄色高清视频 | 天堂av中文在线观看 | 久久久久二区 | 精品国产一区二区三区四区阿崩 | 成人在线免费播放 | jvid在线 | 欧美少妇xxxxx | 中文av一区二区 | 国产精品久久久久久久久久久久久久久久久久 | 九九热精彩视频 | 色噜噜一区二区 | 国产一级一级国产 | 亚洲av无码一区二区三区在线 | 好吊色在线观看 | 超碰av在线 | 中文在线√天堂 | 色视频国产 | 亚洲欧洲日韩综合 | 久久久精品人妻一区二区三区 | 超碰在线公开 | 91肉色超薄丝袜脚交一区二区 | 天天搞夜夜| 亚洲av毛片一区二二区三三区 | 天天操天天碰 | 国产日韩欧美在线观看视频 | va视频在线 | 午夜男人av | 色婷婷成人 | 免费古装一级淫片潘金莲 | 久久高清 | 国产初高中真实精品视频 | 粗喘呻吟撞击猛烈疯狂 | 午夜爽爽影院 | 日本高清免费看 | 精品国产传媒 | 人妻少妇偷人精品视频 | 秋霞网一区二区 | 超碰人人射 | 国产黄色av网站 | 日本69少妇| 国产成人一区二区三区小说 | 香蕉视频在线视频 | 黄色资源在线 | 国产调教视频在线观看 | 九九操| 国产欧美一区二区三区在线看蜜臀 | 亚洲精品成人在线视频 | 中文字幕人妻互换av久久 | 激情小视频在线观看 | 亚洲第99页| 国产欧美123 | 欧美人吸奶水吃奶水 | 91九色国产视频 | 在线岛国| av女优天堂在线观看 | 亚洲精品色午夜无码专区日韩 | 日韩视频在线免费播放 | 亚洲欧美999| 中文字幕人妻丝袜二区 | 亚洲精品日韩在线 | 美人被强行糟蹋np各种play | 草比网站 | www.av.cn| www.白白色| 天天综合天天 | 91国产丝袜在线播放 | 亚洲国产日韩a在线播放性色 | 日韩在线观看免费av | 国产精品自拍亚洲 | 美女插插| 白丝美女被草 | 麻豆视频一区 |