WinAPI - zmiana koloru (wypełnienia) przycisku

0

Chciałbym zmienić kolor przycisku. Najłatwiej wg mnie po prostu utworzyć prostokąt tam gdzie jest przycisk i wypełnić go kolorem. Tak zrobiłem i nie ma efektu żadnego. Dlaczego tak się dzieje? Może inaczej trzeba to zrobić?

0

Tu jest przykład bajeranckiego przycisku.

Przy czym kod tam pokazany jest o tyle brzydki, że wszystko jest wepchnięte w procedurę głównego okna.
Należałoby raczej wykorzystać mechanizm zwany “subclassing”, (CreateWindowSubclass), wyciągnąć kod specyficzny dla przycisku do osobnej procedury, i opakować w jakieś CreateFancyButton którego byś używał zamiast CreateWindow.

0

Chyba wpadłem o co chodzi. Mój przycisk zasłania prostokat i dlatego go nie widać. Trochę słabo :) Jaki jest najprostszy sposób (jakaś funkcja) żeby pomalować tło przycisku?

0

Nadpisać WM_PAINT może zajrzyj jednak pod link pod słowem "Tu" w poście od @Azarien

0

Na tej stronce na stackoverflow piszą że najprostszym sposobem jest dodanie stylu BS_PUSHBUTTON i BS_OWNERDRAW a potem zrobienie tak jak ja czyli stworzenie prostokąta tam gdzie przycisk. Tak robię i dalej bez efektu. Jeszcze jest możliwość użycia komunikatu WM_CTLCOLORBTN z którym nie wiem o co chodzi. Dziwne ze tu nie ma tu jakiejś prostej funkcji zmieniającej tło przycisku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1