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

[WinAPI] Zaznaczanie radio buttonów

Ostatnio zmodyfikowano 2013-05-21 08:33
Autor Wiadomość
kiraler
Temat założony przez niniejszego użytkownika
[WinAPI] Zaznaczanie radio buttonów
» 2013-05-07 00:28:48
Witam, mam okno w WinApi z textboxem, dwoma radio buttonami, i przyciskiem. Mój problem polega na tym, że jak kliknę na pole tekstowe, to automatycznie zaznacza się pierwszy radio button, a jeżeli chcę następnie zaznaczyć drugi radio button to muszę kliknąć dwa razy, ponieważ za pierwszym razem nie załapuje. Jaki błąd zrobiłem ?
Kawałek kodu:
C/C++
if(( IsDlgButtonChecked( hwnd, ID_RADIO1 ) == BST_CHECKED ) &&( !(( HWND ) lParam == g_hPrzycisk ) ) )
{
    CheckRadioButton( hwnd, ID_RADIO1, ID_RADIO2, ID_RADIO2 );
}
else if(( IsDlgButtonChecked( hwnd, ID_RADIO2 ) == BST_CHECKED ) &&( !(( HWND ) lParam == g_hPrzycisk ) ) )
{
    CheckRadioButton( hwnd, ID_RADIO1, ID_RADIO2, ID_RADIO1 );
}
if(( IsDlgButtonChecked( hwnd, ID_RADIO1 ) ) &&(( HWND ) lParam == g_hPrzycisk ) )
{
    dlugosc = GetWindowTextLength( g_hTekst );
A tutaj tworzenie radio buttonów i text boxa:
C/C++
g_hRadio01 = CreateWindowEx( 0, "BUTTON", "Szyfrowanie", WS_CHILD | WS_VISIBLE |
BS_RADIOBUTTON, 173, 30, 110, 20, hwnd,( HMENU ) ID_RADIO1, hInstance, NULL ),

g_hRadio02 = CreateWindowEx( 0, "BUTTON", "Odszyfrowanie", WS_CHILD | WS_VISIBLE |
BS_RADIOBUTTON, 173, 55, 110, 20, hwnd,( HMENU ) ID_RADIO2, hInstance, NULL ),

g_hTekst = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER
| ES_MULTILINE | ES_AUTOVSCROLL, 30, 25, 130, 100, hwnd, NULL, hInstance, NULL );
P-82301
DejaVu
» 2013-05-21 08:33:23
if(( IsDlgButtonChecked( hwnd, ID_RADIO1 ) == BST_CHECKED ) &&( !(( HWND ) lParam == g_hPrzycisk ) ) )
{
    CheckRadioButton( hwnd, ID_RADIO1, ID_RADIO2, ID_RADIO2 );
}
else if(( IsDlgButtonChecked( hwnd, ID_RADIO2 ) == BST_CHECKED ) &&( !(( HWND ) lParam == g_hPrzycisk ) ) )
{
    CheckRadioButton( hwnd, ID_RADIO1, ID_RADIO2, ID_RADIO1 );
}
Jak na moje oko to warunki są nieco bezsensowne.
Frazy, które należy wpisać w wyszukiwarkę google:
Obecnie masz:
Jeżeli radio1 jest zaznaczony i lParam!=g_hPrzycisk to zaznacz radio2.
A jeżeli zaznaczony jest radio1 i kliknę ponownie na radio1, to co ma się stać?
P-83476
« 1 »
  Strona 1 z 1