Mrowqa, dziękuję bardzo za link (nawet nie wiesz jak bardzo), jednak ja go przeczytałem o raz dłużej niż nieskończoność, zwłaszcza że do niego odwołanie jest (nawet nie odwołanie a źródło podane) w kursie WINAPI na tej stronie, chyba lekcja 41, czy jakoś tak... :P
Zastosowałem się do tej strony i wszystko jest ok, bo umieściłem w:
LRESULT CALLBACK WndProc( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam )
to coś:
case WM_CTLCOLORSTATIC:
{
HWND h2Static = GetDlgItem( hWnd, 3100 ); EnableWindow( h2Static, TRUE );
HWND hCtl =( HWND ) lParam;
HDC hDC =( HDC ) wParam;
HBRUSH g_hBrush = CreateSolidBrush( RGB( 240, 240, 240 ) );
if( hCtl == h2Static )
{
SetBkMode( hDC, TRANSPARENT );
SetTextColor( hDC, RGB( 0, 178, 178 ) );
return( LRESULT ) g_hBrush;
}
return( LRESULT ) SetTextColor;
}
i z resztą kodu mojego porgramu ładnie się kompiluje i na ekranie wyświetla mi się ładny błękitnawy napisik. Jednak ja chcę na początku czarny (kasuję case WM_CTLCOLORSTATIC: ) , a dopiero po naciśnięciu przycisku błękitny, czyli po linijce:
LRESULT CALLBACK WndProc( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam )
wstawić:
case WM_COMMAND:
{
switch( wParam )
{
case ID_PRZYCISK1:
{
}
}
}; break;
i żeby do nacisnięciu kontrolki-przycisku opatrzonej identyfikatorem ID_PRZYCISK1 tekst z czarnego robił się niebieski. Spróbowałem:
1) Wkleić case WM_CTLCOLORSTATIC: do case ID_PRZYCISK1: (nie kompilowało się, po za tym to chyba zdecydowanie nie tak...
2) Stworzyć nowy switch(Msg) i do niego wkleić WM_CTLCOLORSTATIC: w case ID_PRZYCISK1: (kompliowało się, ale przycisk nie zmieniał koloru...
Dlatego też pojawiło się moje pytanie, jaką to trzeba funkcją zrobić, żeby kolorek zmieniał się dopiero po naciśnięciu określonego w kodzie programu przycisku oraz czy coś trzeba poprzestawiać w LRESULT CALLBACK WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) żeby osiągnąć zamierzony efekt, czy może trzeba to zrobić zupełnie inaczej, przy użyciu zupełnie innej funkcji.
Dzięki wielkie za podpowiedź :)