Seite 1 von 1
Swift Control
Verfasst: 16.03.2013 13:25
von Lambda
Hallo PBBFFs,
ein weiteres Steuerelement teils verfügbar. Es steuert den non-client Bereich eines Fensters und kann in diesem Buttons, Panels (wie in Chrome) und weitere Elemente platzieren. Momentan begrenzt auf Buttons.
Nur für Windows, im MCF dann aber auf den nativen Rahmen cross-platform.
Features
- - Theme-Support
- Buttons einfärben
- Symbole und/oder Beschriftung
- Toggle-Buttons
- Verschiedene Stile
- Buttons, Panels, Strings, Drop-down Buttons und mehr
- Callback
- ToolTips
- XP/Vista/7 getestet
To-Do
Re: Swift Control
Verfasst: 16.03.2013 15:35
von STARGÅTE
Nett, allerdings solltest du noch die höhe des Titel-Bereichs abfragen, und die Buttons dieser Höhe anpassen.
Bei kleineren Titlehöhen rutschen die Buttons ins Fenster hinein:

und unter dem alten Windowsdesign siehts noch schlimmer aus:
Noch ein paar Hinweise:
- Für Swift_Apply(), Swift_Button() use. steht in der Kontexthilfe: Swift_Button(hWnd, ...) was ein bisschen irreführend ist, da du ja nicht das Windows Handle (WindowID(#Window)) übergibst, sondern die PB-Window-Nummer.
- Schaltet man die Minimier- und Maximier-Buttons nicht ein, bleibt zwischen dem [X] und deinen Buttons n Lücke.
Genauso, wenn man #PB_Window_SystemMenu ganz weg lässt.
- Mit #PB_Window_Tool|#PB_Window_SystemMenu tritt wieder das Problem aus, das die Buttons zu hoch bleiben, obwohl die Titelhöhe kleiner ist.
PS: Komisch, dass die Buttonleiste beim Maximieren früher am Ziel ist als das Fenster
, kleine spaß^^
Re: Swift Control
Verfasst: 16.03.2013 15:51
von Josh
Hi,
sieht gut aus. Ich habe es noch nicht getestet, aber wie schaut das bei Win8 aus. Ist da der Fenstertitel nicht in der Mitte?
Re: Swift Control
Verfasst: 16.03.2013 19:07
von Lambda
@STARGÅTE
Das mit Titelbar-Höhe ist bereits bekannt, genauso wie mit Titel-Buttons. hWnd ist Platzhalter, da auch noch System-Handles angegeben werden können. Ein Tool Window wird ohnehin noch nicht unterstützt. ^^
Das nächste Update passt sich wesentlich besser allen Umständen an, auch Panels kommen jetzt mal dazu.
Also PS nicht ernst gemeint? ^^
@Josh
Fenster-Titel sind doch sowieso überbewertet und doof.

Es folgt noch ein "Orbit"-Button der im Grunde den Fenster-Titel ersetzt. Eigentlich ist geplant den non-client Bereich zu erweitern, aber denke wohl kaum das derartiges auf XP möglich ist.
Re: Swift Control
Verfasst: 16.03.2013 23:03
von NicTheQuick
Mich nervt es immer tierisch, wenn unter Windows im Firefox die Tabs in der Titelleiste sind. Bis man da mal einen Pixel gefunden hat, an dem man das Fenster anpacken kann, hat man immer erst mal ein paar Tabs angeklickt.
Deswegen teile ich deine Meinung, dass Fenstertitel überbewertet sind, nicht sonderlich. Aber da bin ich wohl eher die Ausnahme. Bei mir sind auch auch die meisten Fenster nicht im Vollbild, weil mehrere auf einmal sehen muss.
Also nichts für Ungut.

Die Technik dahinter ist cool, aber sicherlich nicht jeder findet es praktisch.
Re: Swift Control
Verfasst: 16.03.2013 23:07
von RSBasic
NicTheQuick hat geschrieben:Mich nervt es immer tierisch, wenn unter Windows im Firefox die Tabs in der Titelleiste sind. Bis man da mal einen Pixel gefunden hat, an dem man das Fenster anpacken kann, hat man immer erst mal ein paar Tabs angeklickt.
Jo, ich mags auch nicht, wenn die Titelleiste des Fensters mit irgendwelchen anderen Controls zusammengefasst wird. Ich hab die Tableiste immer unter der Titelleiste, so habe ich das Problem nicht mehr.
Re: Swift Control
Verfasst: 16.03.2013 23:17
von Lambda
Das Panels in der Titelleiste sind wäre auch nicht geplant, eigentlich sollte die Titelleiste noch erweitert werden damit natürlich noch Platz zum Greifen ist.
Wobei sich diese Panels aber nicht über die gesamte Fenster-Breite, sondern über eine definierte Breite erstrecken und dann mit Scroll-Buttons auflösen. Wie ich das ganze mit DWM realisiere wäre kein Problem, aber auf XP muss der NC Bereich dann auch erweitert werden.
Hier mal was aktuelles, wobei man sagen muss dass man auch an inaktiven Karten ziehen kann, nur bei Klick wird zu dieser gesprungen.
@NicTheQuick: Genau das erhoffe ich mir aus der Vorstellung hier. Mit solchen Meinungen kann es verbessert werden.
Re: Swift Control
Verfasst: 17.03.2013 01:42
von Bisonte
Und wenn man jetzt noch den NC Bereich individuell vergrössern könnte um diverse Gadgets darauf zu platzieren (so ala Office und das Ribbon Gedusel)
wär das noch ne Spur interessanter...

Re: Swift Control
Verfasst: 17.03.2013 01:54
von Lambda
Das Ribbon greift eigentlich nicht in den NC ein, lediglich Tabs/Gruppen werden darauf gesetzt, wobei das den Bereich aber auch nicht vergrößert.
Wie gesagt, den Bereich mit DWM zu vergrößern ist möglich, aber ohne Aero/<Vista gibt es die Möglichkeit vermutlich nicht. Hier mal jetzt mit dem Drop-Down Attribut. Auch Tool-Windows werden jetzt unterstützt. Solche Swift-Elemente können gruppiert werden, und diese Gruppen können eine maximale Breite erhalten wodurch zukünftig Scroll-Buttons erscheinen. Feste Elemente können beachtet werden aber Tabs variieren schließlich. Man könnte übrigends auch Buttons als Tabs nutzen, auch mit beliebigen Eigenschaften wie Drop-Down.
@Bisonte:
Habe es mal umgesetzt. Das Problem ist allerdings, dass es den NC Bereich in Wirklichkeit nicht erweitert, weshalb aber auch Gadgets platziert werden können. Die Frage ist also wie das ganze optisch vereinbart werden kann

denn Alpha-Transparenzen können zumindest nach meiner Lösung nicht direkt angewendet werden.