Skin, fast geschaft... :-) eines ist noch unklar:
-
hallo,
so langsam kriege ich das mit dem skin hin. ich habe es über subclassing und dann über wm_paint gemacht. die einzelnen states "bilder" habe ich über wm_lbuttonup und das neuzeichnen über invalidate rect realisiert. klappt soweit auch sehr gut.
... wenn da nicht zwischendurch ständig der ungeskinnte button aufblitzen würde. wenn ich relativ schnell hintereinander klicke, siht man für kurze zeit den ursprünglichen button.
was habe ich übersehen ? über eine kurze hilfe oder einen tip würde ich mich wie immer freuen

-
Du hast übersehen, dass Windows etwas bietet, was sich "Owner-Drawn"-Buttons nennt

-
nee, hab ich nicht übersehen. ich hab aber inzwischen raus, dass es daran liegt, dass das schnelle klicken nicht als click, sondern als doppelklick gewertet wird ...
muss anscheinend die message für den doppelklick in einen einfachen klick umwandeln 
edit... hups ... ick seh grade, dein tip war doch richtig... der ownerdraw button verträgt es

allderdings ignoriert er manchmal einen klick

-
das klappt auch alles sehr gut mit subclassing! reagierst du auch auf WM_LBUTTONDBLCLK ? wenn nicht dann probier das mal aus dann sollte der original button nicht mehr auftauchen. jedenfalls war das bei mir so...
-
jepp, ich prüfe nun in der hauptwinproc des fensters, ob ein button doppelklick vorliegt. nun klapps auch bei mir...
nun gehts ans eingemachte... hat jemand einen tip für mich, wo ich informationen darüber finde, wie ich z.b. die scrollleiste in einer listbox ownerdrawn machen kann... hab schon fleissig gegoogelt, finde dazu aber nichts.
p.s. schade, dass hier die suchenfunktion nicht mehr geht, damit könnte man sich ggf. ne menge fragen sparen

-
mit ein bischen arbeit bekommt man die scrollbar komplett selber hin! zuerst musst du die listbox subclassen und dann InitializeFlatSB und FlatSB_EnableScrollBar mit ESB_DISABLE_BOTH aufrufen, um die orig. scrollbars zu entfernen. danach einfach nen eigenes static control an die stelle setzen und dann halt auf alle nachrichten reagieren. bei den berechnungen wird dir SCROLLINFO helfen
die listbox hat dan quasi noch eine unsichtbare scrollbar und du kannst den vollen funktionsumfang benutzen, musst halt nur den grafischen teil darstellen!
-
schluck, hört sich erstmal etwas kompliziert an .. naja, werd mich heute nachmittag mal dransetzen
