En buttonbox? Hvad er det? Det er ikke en standars Win32 control ;-)
Anyway, normalt skal man sætten control til at være ownerdraw fro at kunne ændre på den. Det der så sker er at du tegner alt i kontrollen i dens Paint function.
benjamin> Er der andre smartere/mere effektiv måde at gøre det på?
Ok.. Har endelig haft tid til at rode med den button dims.. Har lavet den til ownerdraw og lagt tegneriet af dens baggrund ind under: WM_DRAWITEM
Mit problem er jeg skal ændre farven i denne button alt hvordan mine data er når jeg trykker på en knap. Den ændrer ikke farven med mindre jeg minimerer billedet og dernæst maximerer det igen...
Nogen der ved hvordan dette skal klares og hvor det skal klares henne ? tam ? (svar på dette og du er 100 point rigere)
Ups, jeg fik vist forklaret det lidt forkert der...
Når nu du kan ændre farven ved at minimere og derefeter maximere dit window har du jo hele koden rigtig pånær en opdatering af window'et. Når du minimerer og maximerer tvinger du det til at blive gentegnet, det samme kan du gøre med InvalidateRect();
benjamin > Skal der være en BeginPaint og EndPaint inden i WM_DRAWITEM ??
Nej, din lParam er en DRAWITEMSTRUCT som indeholder en handle til et HDC som du kan tegne i. BeginPaint() og EndPaint() må kun bruges ved et WM_PAINT event.
Mit problem er at det er ved at være mange år siden jeg har lavet ownerdraw controls...
Prøv evt. at spørge i C++ forumet på http://codeproject.com/ der kan du garanteret få svar i en fart... (Jeg kommer der selv meget)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.