Splitter-Gadget ... wie Frames in HTML???

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Splitter-Gadget ... wie Frames in HTML???

Beitrag von Xaby »

Hallo Fans.

Ich hab mich mal etwas mit den Splittern versucht. Hab auch einiges hier im Forum gelesen. Aber irgendwie bekomme ich nicht hin, was ich gern hätte. Eine kleine Oberfläche, die so funktioniert wie das Verstellen der Größen im jaPBe.

Zwei Splitter. Einer von links nach rechts. Der anderen von oben nach unten. Brauch ich da noch Container? Mein Plan sah wie folgt aus:

Einen Container in dem
Ein Container mit allen Gadgets auf der linken Seite sind
Gadgets
Ein Container mit allen Gadgets auf der rechten Seite ...
Gadgets
Splitter Container links und Container rechts

Ein Container für unten
für alle Gadgets

Splitter für Container oben und Container unten ...



Aber irgendwie muss es doch einfacher gehen oder?

In dem Zusammenhang würde mich auch interessieren wie man das Fenster-Schnappen einfach realisieren kann. Diese Einschnapp-ToolBoxes.
Wenn man in Word oder einem Bildbearbeitungsprogramm eine Schaltfläche anklickt und die zieht ... und ist sie aus einem bestimmten Feldbereich, dann ist sie als selbständiges Fenster ...

Aber!!! Was ich auch noch nicht hinbekommen habe ...
Wenn ich ein neues Fenster mache, dann hab ich unten in der Taskleiste auch jedes Mal einen neuen Eintrag. Das ist auch doof. Stellt euch mal vor, man hat 10 ToolFenster, dann ist die Taskbar voll :o

Und bei MDI Fenstern ist das Problem, dass ich sie nicht außerhalb meines Fensters benutzen kann ...

So viele Fragen auf einmal.

Ich meine Anwendungen zu machen, die aus ein zwei Fenstern bestehen, und nicht in der Größe verstellbar sind, ist noch einfach. Aber schon, wenn man es zulässt, dass sie in der Größe verändert werden dürfen, muss man sich überlegen, wie man das ganze Managed.

In Java gibt es dafür die FensterManager. Wie realisiert man selbstständige Gadgets in PB, ohne extra noch die ganzen Variablen in irgendwelchen Arrays zu speichern?

Versteht ihr, was ich meine?

Wenn das Fenster zum Beispiel eine Größe hat, die kleiner ist als die Menü-Leiste. Gibt es für sowas einfache Möglichkeiten, dass sie dann zu einer Menüleiste mit Pfeil-Runter für die restlichen Befehle werden kann.

Oder muss ich für sowas Scroll-AreaGadgets nehmen. Die sind auch manchmal uncool. Nicht so hübsch wie andere Möglichkeiten.

Vielen Dank im Voraus für eure Hilfe. Achso und etwas QuellCode, der ausführbar ist, wäre cool. Egal zu welchem der Punkte.

:allright:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Splitter-Gadget ... wie Frames in HTML???

Beitrag von Kiffi »

Xaby hat geschrieben:[SplitterGadget]
Aber irgendwie muss es doch einfacher gehen oder?
nöh, das geht genauso, wie Du beschrieben hast. Wenn Du das einfacher
haben willst, dann musst Du eine andere Programmiersprache verwenden
(beispielsweise VB.Net).
Xaby hat geschrieben:In dem Zusammenhang würde mich auch interessieren wie man das Fenster-Schnappen einfach realisieren kann.
da gibt es mehrere Codes im Board. SuFu hilft! Beispielsweise:

http://www.purebasic.fr/german/viewtopic.php?t=3604
Xaby hat geschrieben:Stellt euch mal vor, man hat 10 ToolFenster, dann ist die Taskbar voll :o
dafür gibt's den ParentWindow-Parameter bei OpenWindow()

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Was würde ich ohne dich nur machen ... ? :shock:

Dank dir. Gruß, Folker :allright:
Kinder an die Macht http://scratch.mit.edu/
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

Beitrag von ts-soft »

Hier noch eine Snaprocedure (aus dem engl. Forum, hab mir den Autoren
aber nicht gemerkt, denke mal Netmaestro oder Srod? )

Code: Alles auswählen

Procedure SnapWindowCallBack(hWnd.l, Event.l, wParam.l, lParam.l )
  Protected scrRect.RECT, scrW.l, scrH.l, wndRect.RECT, wndW.l, wndH.l
  If Event = #WM_WINDOWPOSCHANGED
   
    SystemParametersInfo_(#SPI_GETWORKAREA, 0, @scrRect, 0)     
      scrW = scrRect\right  - scrRect\left
      scrH = scrRect\bottom - scrRect\top     
   
    GetWindowRect_(hWnd, @wndRect)
      wndW = wndRect\right  - wndRect\left
      wndH = wndRect\bottom - wndRect\top
   
    If wndRect\left-scrRect\left < 16 And wndRect\left-scrRect\left > 0 : wndRect\left = 0 : EndIf
    If wndRect\top-scrRect\top < 16 And wndRect\top-scrRect\top  > 0 : wndRect\top  = 0 : EndIf
    If scrRect\right-wndRect\right  < 16 And scrRect\right-wndRect\right > 0: wndRect\left = scrRect\right-wndW : EndIf
    If scrRect\bottom-wndRect\bottom < 16 And scrRect\bottom-wndRect\bottom > 0: wndRect\top  = scrRect\bottom-wndH : EndIf
   
    ResizeWindow(0, wndRect\left, wndRect\top, #PB_Ignore, #PB_Ignore)
   
  EndIf
 
  ProcedureReturn #PB_ProcessPureBasicEvents
 
EndProcedure 
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Hatte mir gerade ein bisschen die Proceduren von GadgetPlus durch geschaut, die beim jaPBe für PB 4.x bei waren. Aber die sind wohl noch im PB 3.94er Code und deshalb nicht gleich zu gebrauchen.

Wie geht es eigentlich dem CodeArchiv? Gibt es da eine vollständige Version für PB V. 4.xx? (Codearchive 3 :D )

:allright:
Kinder an die Macht http://scratch.mit.edu/
Antworten