2013-08-22 28 views
1

我原本以爲這會很容易做到。谷歌搜索返回的結果除了這一切。C++ Win32如何創建一個「切換」按鈕

我想要一個正常的按鈕,我可以點擊,並保持下來,再次單擊,然後升起來。

我發現了一個功能,做了我想要的,但只有當按鈕保持焦點,點擊其他任何地方,然後再次上升時纔有效。

Button_SetState(GetDlgItem(hwnd, IDC_BTN_SLEEPCLICK), TRUE);

有沒有做到這一點任何實際的方式?還是我需要手工做這種事情?

謝謝。

回答

5

創建一個複選框,然後將該複選框的「push like」屬性設置爲true。

+1

謝謝,正是我需要的,這是它的樣子: 'hButtonSleep = CreateWindowEx(0, 「按鈕」, 「睡眠點擊」 WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX | BS_PUSHLIKE, 0,0,40, 19,hwnd,(HMENU)IDC_BTN_SLEEPCLICK,GetModuleHandle(NULL),NULL);' –

2

你想要一個BS_PUSHLIKE樣式的複選框。要以編程方式切換它,請使用Button_SetCheck

1

「保持下來」和「升起備份」是您如何繪製按鈕的問題。

您可以使用Paint和Redraw方法創建自己的按鈕類。