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

[C++][WinApi] Kolor Tekstu w WS_DISABLED

Ostatnio zmodyfikowano 2015-08-13 14:57
Autor Wiadomość
Merulo
Temat założony przez niniejszego użytkownika
[C++][WinApi] Kolor Tekstu w WS_DISABLED
» 2015-08-13 14:33:38
Witam,
mam następujący problem:
Chciałbym aby w tym:

C/C++
Wiadomosci = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | WS_DISABLED | ES_MULTILINE, 5, 0, 480, max_y - 285, Glowne, NULL, hInstance, NULL );

Pojawiał się tekst koloru czerwonego na żółtym tle. Żółte tło oraz kolor czerwony tekstu tworzone są w taki sposób:
C/C++
case WM_CTLCOLORSTATIC:
{
    HBRUSH g_hBrush = CreateSolidBrush( RGB( 255, 255, 0 ) );
    HWND hCtl =( HWND ) lParam;
   
    if( hCtl == Wiadomosci ) {
        SetBkMode(( HDC ) wParam, TRANSPARENT );
        SetTextColor(( HDC ) wParam, RGB( 255, 0, 0 ) );
        return( LRESULT ) g_hBrush;
    }
}
break;

I chociaż tło jest żółte, to tekst ustawiany za pomocą:

C/C++
SetWindowText( Okno, NowyTekst.c_str() );

Jest zawsze szary. Jakieś pomysły?
P-136138
Cansisti
» 2015-08-13 14:42:19
Po co tworzysz wyłączony EDIT? Może lepiej static (może być z ramką) albo EDIT z ES_READONLY?
Wtedy powinna zadziałać zmiana kolorów. Ewentualnie możesz włączyć edita, zmienić kolor i znów go wyłączyć.
P-136141
Merulo
Temat założony przez niniejszego użytkownika
» 2015-08-13 14:57:47
C/C++
Wiadomosci = CreateWindowEx( WS_EX_CLIENTEDGE, "STATIC", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | WS_DISABLED | ES_MULTILINE, 5, 0, 480, max_y - 285, Glowne, NULL, hInstance, NULL );
Okno jest całe szare. Jest to ciekawe, ponieważ nigdzie nie mam szarego. Ale:
C/C++
Wiadomosci = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | ES_READONLY | ES_MULTILINE, 5, 0, 480, max_y - 285, Glowne, NULL, hInstance, NULL );
Działa cudownie.
Dziękuje!


P-136144
« 1 »
  Strona 1 z 1