设置 | 登录 | 注册

作者共发了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许可协议进行许可。