[WinAPI] Informacja czy checkbox został wciśnięty
Ostatnio zmodyfikowano 2013-11-02 12:04
maniek1310 Temat założony przez niniejszego użytkownika |
[WinAPI] Informacja czy checkbox został wciśnięty » 2013-11-02 10:15:11 Witam chciałbym się dowiedzieć jak odczytywać czy dany checkbox jest naciśnięty czy nie, w programie będzie ich około 20 i chciałbym żeby zwracały dwa stany wciśnięty - 1 i nie wciśnięty - 0. Tutaj kod jednego checkbox-a : hChk1 = CreateWindowEx( 0, "BUTTON", "Test1", WS_CHILD | WS_VISIBLE | BS_CHECKBOX, 8, 35, 150, 20, hwnd, NULL, hThisInstance, NULL ); |
|
xevuel |
» 2013-11-02 10:33:54 |
|
maniek1310 Temat założony przez niniejszego użytkownika |
» 2013-11-02 10:36:05 @up czytałem już to , ale tam jest tylko jak odczytywać czy dana kontrolka została naciśnięte, a jak tak robię i potem uruchomię program to jak kliknę na checkbox-a to się nie zaznacza. |
|
xevuel |
» 2013-11-02 10:40:02 tam jest tylko jak odczytywać czy dana kontrolka została naciśnięte |
Nie. Jest też informacja, jak sprawdzić stan przycisku. a jak tak robię i potem uruchomię program to jak kliknę na checkbox-a to się nie zaznacza. |
Coś źle robisz. |
|
maniek1310 Temat założony przez niniejszego użytkownika |
» 2013-11-02 12:04:56 Dzięki za pomoc, działa. Tutaj daję jak by ktoś chciał funkcję WM_COMMAND (oczywiście gdzieś tam w programie najlepiej poza główną funkcją należy zadeklarować zmienną typu bool o nazwie bChecked): case WM_COMMAND: switch( wParam ) { case ID_PROGRAM1: { if( bChecked == false ) { CheckDlgButton( hwnd, ID_PROGRAM1, BST_CHECKED ); bChecked =( IsDlgButtonChecked( hwnd, ID_PROGRAM1 ) == BST_CHECKED ); } else { CheckDlgButton( hwnd, ID_PROGRAM1, BST_UNCHECKED ); bChecked =( IsDlgButtonChecked( hwnd, ID_PROGRAM1 ) == BST_CHECKED ); } break; } default: MessageBox( hwnd, "Zrobiles cos innego :)", "Test", MB_ICONINFORMATION ); } break; |
|
« 1 » |