Swift Control

Anwendungen, Tools, Userlibs und anderes nützliches.
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Swift Control

Beitrag 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
  • - ToolTips
    - x64 Version
Zuletzt geändert von Lambda am 27.03.2013 17:25, insgesamt 1-mal geändert.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6999
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Swift Control

Beitrag 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:
Bild
und unter dem alten Windowsdesign siehts noch schlimmer aus:
Bild

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 :lol: , kleine spaß^^
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Swift Control

Beitrag 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?
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: Swift Control

Beitrag 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. :D 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.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Swift Control

Beitrag 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.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Swift Control

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: Swift Control

Beitrag 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.
Benutzeravatar
Bisonte
Beiträge: 2430
Registriert: 01.04.2007 20:18

Re: Swift Control

Beitrag 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... ;)
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: Swift Control

Beitrag 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 :D denn Alpha-Transparenzen können zumindest nach meiner Lösung nicht direkt angewendet werden.
Antworten