Sean's Note: [Win32] 自訂 Button 的顏色

2012年1月10日 星期二

[Win32] 自訂 Button 的顏色

在 Win32 的視窗程式設計下,想要自訂 Button 的顏色或 Button 文字的顏色,

並非易事,必須搭配 WM_DRAWITEM 來繪製自訂 Button。

1. 首先,在 Button 的 Properties Page 上將 Owner Draw 屬性設成 True。

2. 接收到 WM_DRAWITEM 訊息時繪製 Button 的樣式和欲顯示的字串。

    2.1 利用 DrawEdge() 可繪製 Button 被按下和沒按的樣子。

    2.2 DrawText() 可畫出文字,避免使用 SetWindowText(), 因為其會再觸發

          WM_DRAWITEM  很容易造成無窮回圈,而導致 Stack overflow。

沒有留言:

張貼留言