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ć?
WinAPI - zmiana koloru (wypełnienia) przycisku
- Rejestracja: dni
- Ostatnio: dni
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.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 243
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?
- Rejestracja: dni
- Ostatnio: dni
Nadpisać WM_PAINT może zajrzyj jednak pod link pod słowem "Tu" w poście od @Azarien
- Rejestracja: dni
- Ostatnio: dni
- Postów: 243
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.