Windows API視窗程式設計 - 完善自定義按鈕
介紹
上一課我們已經畫出了一個只有邊框的按鈕,這一次我們要完善一下按鈕的外觀了,至少要讓人看起來像按鈕而不只是一個框。
完善按鈕外觀很簡單,只要在WM_PAINT訊息中畫一下就是了。
由於原來的程式碼被我誤刪了,所以這一次的程式碼可能會與之前的有點出入,請見諒!
程式碼解釋
首先我先在程式碼最上面新增一個HWND用於儲存按鈕的控制程式碼,程式碼如下:
建立並儲存了一個按鈕控制程式碼,接下來我們在BtnWndProc回撥函式的WM_PAINT訊息繪製按鈕,程式碼如下:
DrawText可以在按鈕裡寫字串,樣式裡我們選擇“單行”、垂直居中與水平居中。rect是指定繪製文字的範圍,這裡我們選擇整個按鈕,這樣文字才會在按鈕中間顯示,效果如下:
這樣就比原來更像是一個按鈕了,至少中間寫著“按鈕”的英文。
有了按鈕,但是似乎沒什麼反應,點它都沒用。
因為我們還沒有寫按鈕的點選事件訊息,這就要在WM_LBUTTONUP中寫點選事件程式碼,這裡我們彈出一個訊息框表示自己點選了按鈕,程式碼如下:
hwnd == btn_hwnd表示我們要判斷對哪個按鈕控制程式碼進行訊息響應,雖說我們只有一個按鈕,但這麼做更安全,可讀性也更高,表示我們要對剛剛儲存的按鈕控制程式碼進行操作。
現在我們執行程式,點選按鈕,效果如下:
注意
目前我們還沒有對中文做處理,所以如果你們寫文字用的是中文的話會產生亂碼問題,所以最好還是用英文,我現在也懶得寫處理中文的情況。。。
相關文章
- Windows API視窗程式設計 - 自定義按鈕WindowsAPI程式設計
- Windows API視窗程式設計 - 系統標準按鈕WindowsAPI程式設計
- Windows API視窗程式設計 - 空白視窗WindowsAPI程式設計
- fastadmin新增自定義按鈕,並使用彈窗功能AST
- 自定義View:自定義屬性(自定義按鈕實現)View
- iOS 自定義鍵盤字母按鈕iOS
- ABAP ALV TOOLBAR 自定義按鈕的型別以及listmenu按鈕型別
- Qt QMessageBox::information 自定義按鈕QTORM
- 「HTML+CSS」--自定義按鈕樣式【004】HTMLCSS
- 「HTML+CSS」--自定義按鈕樣式【003】HTMLCSS
- antd-mobile 自定義picker按鈕樣式
- Qt自定義開關按鈕控制元件QT控制元件
- [HTML/CSS]uploadify自定義按鈕樣式HTMLCSS
- 3-Windows程式設計 -視窗與訊息Windows程式設計
- css自定義單選按鈕的樣式程式碼例項CSS
- 短視訊開發app,自定義帶進度條的視訊播放按鈕APP
- Windows SDK程式設計之一 視窗示例程式 (轉)Windows程式設計
- 如何禁用控制檯視窗的關閉按鈕?
- pb9 資料視窗內按鈕用法
- windows的錄音機視窗中單擊按鈕的作用是什麼Windows
- 「HTML+CSS」--自定義按鈕樣式【001】HTMLCSS
- 「HTML+CSS」--自定義按鈕樣式【002】HTMLCSS
- Android 自定義實現switch開關按鈕Android
- 窗體(文字框,按鈕,單選按鈕,標籤)
- Android開發自定義View之滑動按鈕與自定義屬性AndroidView
- 如何給 SAP Fiori Elements 應用新增自定義按鈕
- 自定義按鈕 圖片標題位置隨意放置
- Android 自定義Switch開關按鈕的樣式Android
- 自定義有多個按鈕節點的SliderViewIDEView
- 自定義一個酷炫的提交完成按鈕
- 新增了自定義的編輯和刪除按鈕
- 呼叫API函式設計ABOUT視窗 (轉)API函式
- 自定義Toast及視窗透明處理AST
- Qt入門(19)——自定義視窗部件QT
- 直播平臺搭建原始碼,qt自定義滑動按鈕原始碼QT
- Android 自定義控制元件 按鈕滾動選擇Android控制元件
- VB “秒錶”窗體中有兩個按鈕“開始/停止”按鈕
- 淺談Windows API程式設計WindowsAPI程式設計