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

Zmiana koloru konkretnej kontrolki WinApi

Ostatnio zmodyfikowano 2015-07-08 22:44
Autor Wiadomość
Mentaris
Temat założony przez niniejszego użytkownika
Zmiana koloru konkretnej kontrolki WinApi
» 2015-07-08 20:45:35
Witam, w WinApi można zmienić kolor wszystkich kontrolek w oknie, jednak ja chciałbym zmienić kolor konkretnego buttona(jednego, lub dwóch). Da się coś takiego zrobić? Powiedzmy taki krótki kodzik który powie że komputer ma zmienić kolor kontrolki o danym hwnd lub ID(#define ID int). return (LRESULT) hbrush zmienia automatycznie wszystkie buttony. Super by było gdyby dało się coś takiego zrobić, jest mi to dość potrzebne.
P-134473
pekfos
» 2015-07-08 21:01:15
P-134474
Monika90
» 2015-07-08 21:11:50
return (LRESULT) hbrush zmienia automatycznie wszystkie buttony.
To takie coś działa? Jaką masz wersję Windows?
P-134475
Mentaris
Temat założony przez niniejszego użytkownika
» 2015-07-08 21:30:34
Dzięki pekfos za przypomnienie, może uda mi się wyciągnąć kodzik za zmiane koloru, bez tego całego gradientu.
Monika90 To znaczy ja wprowadzam sobie to do obsługi komunikatu WM_CTLCOLORBTN, uprzednio styl kontrolek zmieniając na BS_OWNERDRAW i działa, tylko że właśnie zmienia kolor wszystkich buttonów. Czytałem że bez Tego stylu mówiącego że chce od podstaw stworzyć kontrolke nie mogę zmienić nic w buttonie oprócz Textu, a gdy Dam owner to automatycznie nie mogę używać SetTextWindow tylko jakiś TextOut lub TextDraw, trochę lipa (więcej z tym zabawy). A co do windowsta to 7 64, a jeśli ci chodzi o dokładną wersje buildu to ni wim gdzie to sie sprawdza.
P-134477
Monika90
» 2015-07-08 21:41:56
lParam komunikatu WM_CTLCOLORBTN zawiera uchwyt przycisku którego komunikat dotyczy, więc możesz zwracać różne kolory (pędzle) dla różnych uchwytów.
P-134480
Mentaris
Temat założony przez niniejszego użytkownika
» 2015-07-08 22:04:29
Działa, dziękuje! Szczerze, jako rozwiązanie bardziej wyobrażałem sobie zmianę wartości jakieś klasy np klas.hbrush = hbrush, widzę jednak że sam return w swoim działaniu jest bardziej skomplikowany niż sądziłem.
P-134485
Monika90
» 2015-07-08 22:31:43
W moim Windows to nie działa, gdy ustawię styl BS_PUSHBUTTON|BS_OWNERDRAW, to zamiast przycisków wyświetlają mi się tylko kolorowe prostokąty. :(
P-134488
Mentaris
Temat założony przez niniejszego użytkownika
» 2015-07-08 22:44:59
Możesz tylko jeden taki styl wybrać, BS_PUSHBUTTON To z tego co czytałem gotowa kontrolka, coś jak WS_VSCROLL do okna. Jak wybierzesz OWNER to musisz chyba sama dodać tą animacje(dwie bitmapy) przycisku itp przez jakąś obsługe komunikatów typu PAINT Albo DRAWITEM, tak przynajmniej mi sie wydaje z tego co czytałem, bo sam osobiście nie bawiłem się tym jakoś bardziej. Tekst dodawałem TextOutem jak wspominałem choć z tym mam jak na razie drobne problemy.
P-134489
« 1 »
  Strona 1 z 1