Skocz do zawartości

Okno dialogowe


Gering

Recommended Posts

Czy w jakiś sposób można zmienic kolor okna dialogowego , bo po utworzeniu kolor tłą jest szary a jak chciałbym by był biały :)

DODAJ DIALOG DISCARDABLE 20, 20, 200, 66
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_TOOLWINDOW

CAPTION "Dodaj WWW"
FONT 8, "MS Sans Serif"
BEGIN
END

Moze jakiś przykładzik ?? Z góry dziekuje :)

Link do komentarza
Udostępnij na innych stronach

witam

WM_CTLCOLORDLG
hdcDlg = (HDC) wParam; // uchwyt do kontekstu dialogboxa
hwndDlg = (HWND) lParam; // uchwyt do dialogboxa

W procedurze komunikatów obsługujesz ten komunikat, na podstawie kontekstu podanego w wParam zmieniasz tło:

WM_CTLCOLORDLG:
SetBkColor((HDC) wParam, RGB(255, 00, 00)) ;
break ;

I to wszystko. Jak chcesz możesz bardziej pokombinować na stronie masz art o grafice GDI w której opisano podstawowe opercje na kontekstach.

W helpie jest również opisany taki komunikat: WM_CTLCOLORMSGBOX...co wy na to ;)

Pozdrawiam i zycze powodzenia

Link do komentarza
Udostępnij na innych stronach

Dodałem komunikat do proc. okna dialogowego

 case WM_CTLCOLORDLG:
        {
            hdcDialog = (HDC) wParam; // uchwyt do kontekstu dialogboxa
            Dialog = (HWND) lParam; // uchwyt do dialogboxa 
            
            SetBkColor((HDC) wParam, RGB(255, 00, 00)) ; 
        }    
        break ; 

I nic sie nie stało , sprawdzałem czy wogóle okno odebrało komunikat za pomocą MessageBox i działa . Sprawdzełem tez w proc. okna nadrzędnego i nie moge pobrac uchwytu okna dialogowego :( ( nie umiem) z proc okna nadrzedego

Link do komentarza
Udostępnij na innych stronach

No to jednak trzeba dodać do gł. procedurki. Nie musisz pobierać uchytu okna dialogowego jeśli chcesz zastosować kolorki do wszystkich lub jeśli masz tylko jedno takie okno. Ale jeśli już tak bardzo chcesz to w zdarzeniu okna dialogowego WM_INITDIALOG przekaż ten uchwyt jakiemuś globalnemu np.

hUchwytGlobalny = hDlg ;

powinno zadziałać, ale nie jestem pewny na 100%...

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...