Seite 1 von 1

Frage zum SplitterGadget

Verfasst: 15.11.2009 13:03
von LukasBanana
Hi,

weiß jemand von euch wie das SplitterGadget in der WinAPI normaler weise heißt?

Das ListIconGadget heißt ja normaler Weise in der WinAPI auch anders, da heißt es nämlich ListView Control.
Hier ist eine Liste aller WinAPI Window Controls:
http://msdn.microsoft.com/en-us/library ... S.85).aspx

Oder muss dieses Splitter Gadget aus mehreren WindowControls bestehen?
So wie das SpinGadget, das besteht nämlich aus einem EditControl (StringGadget) und einem UpDownControl.

Danke schon mal :)

Re: Frage zum SplitterGadget

Verfasst: 15.11.2009 13:22
von Fluid Byte
Es gibt keine natives System-SplitterGadget :wink:

Re: Frage zum SplitterGadget

Verfasst: 15.11.2009 16:49
von LukasBanana
Wie wird das dann gemacht??

Re: Frage zum SplitterGadget

Verfasst: 15.11.2009 16:55
von ts-soft
LukasBanana hat geschrieben:Wie wird das dann gemacht??
Malen und Resizen :wink:

Re: Frage zum SplitterGadget

Verfasst: 15.11.2009 21:05
von Josh
also ich hab mich mit dem splittergadget auch viel zu lange herumgespielt. da ich einen teil des splittergadgets komplett ausblenden wollte und dann noch ein paar splittergadgets innereinander hatte, ist das ganze mit den erforderlichen dummycontainers so was von unübersichtlich geworden, dass ich es lieber selber gemalt habe. ist leider in meinem code zu verstrickt, dass mir das rauslösen mom zu viel arbeit ist. nur ein paar tipps:

du musst ja nicht mal was malen und brauchst auch kein eigenes gadgets. einfach mouseereignisse auf deinem hauptfenster abfragen:
  • beim mousemove über dem splitterarea:
    • wenn über dem splitterarea mousecursor auf NS bzw EW ändern
    • mouseleave ereignis mit api TrackMouseEvent aktivieren
    • wenn merker für mousedown gesetzt, gadgets nach geänderter mouseposition resizen
  • beim mousedown über dem splitterarea:
    • merker setzen, dass mousedown über deinem splitterarea erfolgt ist
    • mausposition merken
    • mausbewegung mit api SetCapture an das hauptfenster binden
  • beim mouseup ereignis
    • merker löschen
    • mousebindung an hauptfenster mit api ReleaseCapture wieder lösen
  • beim mouseleave ereignis
    • mousecursor wieder auf standard zurücksetzen
ich hoffe, dass ich nix vergessen habe

Re: Frage zum SplitterGadget

Verfasst: 15.11.2009 21:23
von Josh
auf was du noch aufpassen solltest:

beim mousemove ereignis holst du dir die mouseposition ja aus lParam. die x- und y-werte auf jeden fall in eine variable vom typ w extrahieren, sonst krachts wenn du mit der maus nach links bzw. oberhalb von deinem hauptfenster raus kommst.