設置 | 登錄 | 註冊

目前共有14篇帖子。

【案例】給Win32程序的「關於」對話框添加一個按鈕

1樓 巨大八爪鱼 2015-12-1 14:26
首先,在Visual Studio(我用的版本是Premium 2012)中創建一個Win32項目工程,也就是:

然後編譯運行,運行結果是如下窗口:

2樓 巨大八爪鱼 2015-12-1 14:27
在左邊的Solution Explorer中找到Win32Project1.rc文件,雙擊打開。

3樓 巨大八爪鱼 2015-12-1 14:28

雙擊IDD_ABOUTBOX打開。並在窗口中拖入一個按鈕,上面顯示的文字(Caption)隨便寫,這裡我寫的是Check。
4樓 巨大八爪鱼 2015-12-1 14:28
5樓 巨大八爪鱼 2015-12-1 14:30
默認分配給這個按鈕的ID是IDC_BUTTON1,這個會在之後的程序中用到:

打開Resource.h後就可以看到,其實這個ID是一個宏定義。

6樓 巨大八爪鱼 2015-12-1 14:32
最後,打開主程序文件Win32Project1.cpp,在函數About里添加如下內容:

其中IDC_BUTTON1就是用於標示剛才所創建的按鈕,滑鼠點擊按鈕後執行的內容就是調用MessageBox這個對話框函數。
7樓 巨大八爪鱼 2015-12-1 14:34
然後就可以運行程序了。

點擊剛才添加的Check按鈕後彈出MessageBox對話框:

其中的圖標i是由MB_ICONINFORMATION決定的。
可以選用其他值:
MB_ICONWARNING 三角形的黃色驚嘆號
MB_ICONQUESTION 問號
MB_ICONERROR 紅叉
8樓 巨大八爪鱼 2015-12-1 14:37
下面我來解釋一下這句話:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
其中IDOK就是點擊OK按鈕,IDCANCEL則是手動點擊About窗口右上角的關閉按鈕,或者在標題欄右鍵菜單中點擊了Close命令(如圖所示)。

9樓 巨大八爪鱼 2015-12-1 18:17

加了About窗口滑鼠左鍵點擊次數計數代碼。
10樓 巨大八爪鱼 2015-12-1 18:21
更改按鈕上的文字:
SendMessage((HWND)lParam, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Checked");

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。