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

[C++, WINAPI] Zmiana koloru kontrolki podczas wykonywania programu

Ostatnio zmodyfikowano 2016-03-10 13:46
Autor Wiadomość
loop
Temat założony przez niniejszego użytkownika
[C++, WINAPI] Zmiana koloru kontrolki podczas wykonywania programu
» 2016-03-10 12:14:02
Cześć, mam tu taki kod:

C/C++
case WM_CTLCOLORSTATIC:
{
    HWND hCtl =( HWND ) lParam;
    HDC hDC =( HDC ) wParam;
   
    if( hCtl == g_hKierunekWW1 )
    {
        if( WW1tryb == 1 || WW1tryb == 3 )
        {
            SetTextColor( hDC, RGB( 0, 255, 0 ) );
        }
        else if( WW1tryb == 2 || WW1tryb == 4 )
        {
            SetTextColor( hDC, RGB( 255, 165, 0 ) );
        }
        else if( WW1tryb == 5 || WW1tryb == 6 )
        {
            SetTextColor( hDC, RGB( 0, 0, 255 ) );
        }
    }
   
    SetBkMode( hDC, TRANSPARENT );
    return( LRESULT ) g_hBrush;
   
    break;
}

No i na początku wszystko działa, ale kiedy zmienię w środku programu wartość zmiennej WW1tryb np. z 1 na 5, to nic się nie dzieje i kontrolka nie zmienia koloru z zielonego na niebieski. Jak to prawidłowo powinno wyglądać?
P-145845
Monika90
» 2016-03-10 12:42:44
Po zmianie zawartości zmiennej wywołaj InvalidateRect(hwnd, NULL, TRUE); gdzie hwnd to uchwyt twojej kontrolki, to powinno pomóc.
P-145848
loop
Temat założony przez niniejszego użytkownika
Zamykam.
» 2016-03-10 13:46:10
Dziękuję za szybką pomoc, działa.
P-145850
« 1 »
  Strona 1 z 1