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
- LabVIEW的自定義按鈕View
- Qt QMessageBox::information 自定義按鈕QTORM
- Simple WPF: WPF 自定義按鈕外形
- iOS 自定義鍵盤字母按鈕iOS
- (五)自定義按鈕模板和設定觸發器觸發器
- 如何自定義radio按鈕的樣式
- 3-Windows程式設計 -視窗與訊息Windows程式設計
- fastadmin 工具欄新增自定義按鈕,實現彈窗並儲存資料效果AST
- Qt自定義開關按鈕控制元件QT控制元件
- 「HTML+CSS」--自定義按鈕樣式【003】HTMLCSS
- 「HTML+CSS」--自定義按鈕樣式【002】HTMLCSS
- 「HTML+CSS」--自定義按鈕樣式【004】HTMLCSS
- 「HTML+CSS」--自定義按鈕樣式【001】HTMLCSS
- antd-mobile 自定義picker按鈕樣式
- windows的錄音機視窗中單擊按鈕的作用是什麼Windows
- 短視訊開發app,自定義帶進度條的視訊播放按鈕APP
- 如何禁用控制檯視窗的關閉按鈕?
- C#自定義控制元件—旋轉按鈕C#控制元件
- 自定義有多個按鈕節點的SliderViewIDEView
- 如何給 SAP Fiori Elements 應用新增自定義按鈕
- 自定義按鈕 圖片標題位置隨意放置
- ASPxGridView中Command列自定義按鈕點選事件概要View事件
- 直播平臺搭建原始碼,qt自定義滑動按鈕原始碼QT
- 小程式按鈕
- 短視訊系統原始碼,實現按鈕開啟關閉,顏色可自定義原始碼
- 乾貨!必看創意按鈕設計,打造真正的按鈕誘惑
- 使用Windows API進行GDI視窗繪圖WindowsAPI繪圖
- Vue2-利用自定義指令實現按鈕許可權控制Vue
- laravel admin 列展開 自定義行操作 增加編輯修改按鈕Laravel
- 基於VUE自定義指令實現按鈕級許可權控制Vue
- Yii1自定義 CGridView 中的操作按鈕中 CButtonColumn 選項View
- 使用自定義 View 繪製一個懸浮式可拖拽按鈕View
- 按自定義週期統計資料
- Rust 程式設計視訊教程(進階)——011_2 自定義 BoxRust程式設計