Hipochondryk Temat założony przez niniejszego użytkownika |
[Winapi] Wygaszacz ekranu - problem z funkcją textOut » 2014-06-18 10:15:43 Witam, piszę wygaszacz ekranu potrzebuję zrobić by wyświetlić tekst w pierwszej lini w kolorze czerwonym a w drugiej w zielonym, bo wyświetleniu wygaszacza oba napisy są zielone. Jak Zmodyfikować tekst by teksty były różno kolorowe ? PAINTSTRUCT ps; HDC kon;
LRESULT CALLBACK ScreenSaverProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{ HFONT hFont; hFont = CreateFont( text1.getsize(), 0, 0, 10, 0, 0, 0, 0, EASTEUROPE_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, PROOF_QUALITY, DEFAULT_PITCH | FF_DONTCARE, 0 ); SetTextColor( kon, RGB( 255, 0, 0 ) ); SetBkColor( kon, RGB( 0, 0, 0 ) ); SelectObject( kon, hFont ); kon = BeginPaint( hwnd, & ps ); TextOut( kon, 25, 25, "asde", 4 ); SetTextColor( kon, RGB( 0, 255, 0 ) ); SetBkColor( kon, RGB( 0, 0, 0 ) ); TextOut( kon, 25, 125, "asdfe", 5 ); EndPaint( hwnd, & ps ); return DefScreenSaverProc( hwnd, message, wParam, lParam ); }
Dziękuję za pomoc i pozdrawiam. |
|
Monika90 |
» 2014-06-18 10:20:24 SetTextColor( kon, RGB( 255, 0, 0 ) ); SetBkColor( kon, RGB( 0, 0, 0 ) ); SelectObject( kon, hFont );
te instrukcje przenieś po BeginPaint. Poza tym, mam nadzieję że wiesz, że BeginPaint należy wywoływać tylko w obsłudze komunikatu WM_PAINT, oraz że jak tworzysz font, to musisz go też niszczyć. |
|
Hipochondryk Temat założony przez niniejszego użytkownika |
» 2014-06-18 10:21:34 ok działa, dzięki wielkie :) |
|
« 1 » |