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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Win32-Application的窗口和对话框

發布時間:2023/12/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Win32-Application的窗口和对话框 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Win32 Application,沒有基于MFC的類庫,而是直接調用C++接口來編程。

?

一、彈出消息窗口

(1)最簡單的,在當前窗口中彈出新窗口。新窗口只有“YES”按鈕。

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) {MessageBox(NULL, "我的Win32程序", "HelloWorld", MB_OK);return 0; }

?

(2)獲取已經打開的窗口,并在該窗口中彈出新窗口,而且新窗口有“YES/NO/CANCEL”按鈕,可以捕獲該返回值。

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) {// TODO: Place code here.HWND hWnd = ::FindWindow(NULL, "無標題 - 記事本");int nRet = MessageBox(hWnd, "我的Win32程序", "HelloWorld", MB_YESNOCANCEL|MB_ICONQUESTION);if(IDYES == nRet){MessageBox(hWnd, "你點擊了\"是\"按鈕", "返回值", 0); }else if(IDNO == nRet){MessageBox(hWnd, "你點擊了\"否\"按鈕", "返回值", 0); }else{MessageBox(hWnd, "你點擊了\"取消\"按鈕", "返回值", 0); }return 0; }

?

二、對話框

(1)通過DialogBox新增一個對話框,并設置對話框的消息處理回調函數MainProc,接收對話框的返回值并做相應處理:

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) {int nRet;nRet = DialogBox(hInstance, (LPCSTR)IDD_DIALOG1, NULL, MainProc);if(IDCANCEL == nRet){MessageBox(NULL, "CANCEL", "返回值", 0);return -1;}return 0; }

?

?

回調函數中,通過GetDlgItemInt獲取對話框的輸入整型值、通過SetDlgItemInt設置對話框的輸出整型值(如果是字符串,Int改為Text),通過EndDialog關閉對話框,并返回不同的返回值:

BOOL CALLBACK MainProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam ) {OutputDebugString("測試運行狀態\n");if(WM_COMMAND == uMsg){if(LOWORD(wParam) == IDCANCEL){EndDialog(hwndDlg, IDCANCEL);return IDCANCEL;}else if(LOWORD(wParam) == IDOK){int nLeft = GetDlgItemInt(hwndDlg, IDC_LEFT, NULL, TRUE);int nRight = GetDlgItemInt(hwndDlg, IDC_RIGHT, NULL, TRUE);int nResult = nLeft + nRight;SetDlgItemInt(hwndDlg, IDC_RESULT, nResult, TRUE);}}return FALSE; }

?

備注:

  對話框的資源屬性,可以編輯彈出位置、對其方式、顯示效果、是否可編輯等等。

  Ctrl+D,可以編輯對話框的焦點順序。

轉載于:https://www.cnblogs.com/ruanchao/p/8370540.html

總結

以上是生活随笔為你收集整理的Win32-Application的窗口和对话框的全部內容,希望文章能夠幫你解決所遇到的問題。

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