Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI] Informacja czy checkbox został wciśnięty

Ostatnio zmodyfikowano 2013-11-02 12:04
Autor Wiadomość
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 :
C/C++
hChk1 = CreateWindowEx( 0, "BUTTON", "Test1", WS_CHILD | WS_VISIBLE | BS_CHECKBOX,
8, 35, 150, 20, hwnd, NULL, hThisInstance, NULL );
P-95060
xevuel
» 2013-11-02 10:33:54
P-95062
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.
P-95063
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.
P-95064
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):
C/C++
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;
P-95069
« 1 »
  Strona 1 z 1