Frage zum SplitterGadget

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
LukasBanana
Beiträge: 150
Registriert: 14.03.2007 19:13
Kontaktdaten:

Frage zum SplitterGadget

Beitrag 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 :)
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: Frage zum SplitterGadget

Beitrag von Fluid Byte »

Es gibt keine natives System-SplitterGadget :wink:
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
LukasBanana
Beiträge: 150
Registriert: 14.03.2007 19:13
Kontaktdaten:

Re: Frage zum SplitterGadget

Beitrag von LukasBanana »

Wie wird das dann gemacht??
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Frage zum SplitterGadget

Beitrag von ts-soft »

LukasBanana hat geschrieben:Wie wird das dann gemacht??
Malen und Resizen :wink:
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Frage zum SplitterGadget

Beitrag 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
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Frage zum SplitterGadget

Beitrag 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.
Antworten