2013-08-22 5 views
1

Я изначально думал, что это будет очень легко сделать. Поиск Google возвращал результаты для всего, кроме этого.C++ Win32 Как создать «переключающую» кнопку

Я пытаюсь иметь обычную кнопку, которую я могу щелкнуть, и она остается внизу, снова нажимает и снова поднимается.

Я нашел одну функцию, которая выполняла то, что я хотел, но работал только в том случае, если кнопка сохранила фокус, щелкните в другом месте, и она снова встает.

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

Есть ли реальный способ сделать это? Или мне нужно будет делать это вручную?

Спасибо.

ответ

5

Установите флажок, а затем установите для свойства «push like» значение true.

+1

Спасибо, именно то, что мне было нужно, это то, что он выглядит следующим образом: 'hButtonSleep = CreateWindowEx (0, "BUTTON", "Сон Нажмите", 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.

Смежные вопросы