Gering Napisano Wrzesień 6, 2019 Autor Zgłoś Udostępnij Napisano Wrzesień 6, 2019 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 :) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Surprise Napisano Wrzesień 6, 2019 Zgłoś Udostępnij Napisano Wrzesień 6, 2019 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 Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gering Napisano Wrzesień 6, 2019 Autor Zgłoś Udostępnij Napisano Wrzesień 6, 2019 No oki ale gdzie mam obsłuzyc ?? W procedurze osbsługi okna nadrzędnego czy dialogu ??? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Surprise Napisano Wrzesień 6, 2019 Zgłoś Udostępnij Napisano Wrzesień 6, 2019 wydaje mi się, że w proc. okna dialogowego, chociaż z drugiej strony, nie korzystałem nigdy z CTLCOLORDLG winc nie jestem pewnien na 100%, ale przecież to nie problem przestestować w proc. okna głównego i dialogowego...? pozdr Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gering Napisano Wrzesień 6, 2019 Autor Zgłoś Udostępnij Napisano Wrzesień 6, 2019 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 Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Surprise Napisano Wrzesień 6, 2019 Zgłoś Udostępnij Napisano Wrzesień 6, 2019 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%... Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Burn Napisano Wrzesień 7, 2019 Zgłoś Udostępnij Napisano Wrzesień 7, 2019 Witam Nie tak dawno na tym forum był już podobny temat tyle że chodziło o kolor kontrolki EDIT. Z DIALOGIEM jest to samo tylko trzeba obsłużyć inny komunikat: WM_CTLCOLORDLG https://www.winapi.org/forum/viewtopic.php?t=637 Pozdrowienia Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gering Napisano Wrzesień 7, 2019 Autor Zgłoś Udostępnij Napisano Wrzesień 7, 2019 A ja mam jeszcze takie jedno pytanko jak zmienic kolot tła kontrolki CTEXT i kolor tekstu wyświetlanego w niej ?? Czy jest do tego jakiś komunikat ?? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Burn Napisano Wrzesień 7, 2019 Zgłoś Udostępnij Napisano Wrzesień 7, 2019 Witam! Znowu muszę Cię skierować do tego co napisałem poprzednio tylko tym razem pobaw się komunikatem WM_CTLCOLORSTATIC Powodzenia Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.