Rahmenloses Fenster mit Hilfe des MainMenus verschieben
-
- Beiträge: 172
- Registriert: Mo 3. Jan 2011, 13:34
- OS, Lazarus, FPC: Win10 (L 3.0 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Nürnberg
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Unter Windows funktioniert dies nicht!
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Lies doch mal was die Anderen geschrieben haben, bevor du postest.
Habe oben geschrieben:
Auf Linux (mind. KDE) ist z.B. das gewünschte Verhalten gratis.
Dort wird immer das Fenster verschoben, wenn man an einem freien Bereich des Hauptmenüs "zieht".
-
- Beiträge: 172
- Registriert: Mo 3. Jan 2011, 13:34
- OS, Lazarus, FPC: Win10 (L 3.0 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Nürnberg
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Gibt es eigentlich auch benutzerdefinierte Komponenten und/oder Bibliotheken von Drittanbietern in der Lazarus-Community, die erweiterte Menüfunktionalitäten bieten?
-
- Beiträge: 6210
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Anscheinend auch bei Cinnamon, welches gtk verwendet.Auf Linux (mind. KDE) ist z.B. das gewünschte Verhalten gratis.
So viel ich weis, kann man unter windows auch gtk verwenden.
Müsste die mit dem Menu da nicht auch gehen, wen man die Lazarus-App auf gtk kompiliert ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 172
- Registriert: Mo 3. Jan 2011, 13:34
- OS, Lazarus, FPC: Win10 (L 3.0 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Nürnberg
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Wie kompiliert man eine Windows App auf GTK?
-
- Beiträge: 6210
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Project -> Project Einstellungen -> Compilereinstellungen -> Hinzufügen und Beeinflussung -> Setze "LCLWidgetType" -> Wert "gzk2" -> Ok
F9
Voraussetzung ist, das gtk2 auf deinem PC installiert ist. Ob dies mit der Lazarusinstallation passiert, kann dir sicher ein Windows-Freak sagen.
Bei Gafikprogramm gimp ist es dabei.
Im Beispiel im Anhang sollte alles eingestellt sein.
Ich konnte es nicht probieren, da ich nur wine habe.
- Dateianhänge
-
- menutest.zip
- (137.44 KiB) 40-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6217
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Gtk2 ist auf Windows im Standard nicht enthalten. Das Installieren von Gtk2 war schon vor 2Jahren eine gewisse Herausforderung unter Win10. Weil ich habe eine gewisse Zeit gebraucht um die richtigen Installation zu finden, das sei aber auch meinem Unwissen bezüglich Gtk2 geschuldet.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Man kann msys2 unter Windows nutzen, welches viele Linux-Tools und Linux-Libs anbietet, die man dann einfach nutzen kann. Es wird sogar Pacman angeboten, der PM von Arch-Linux.
https://www.msys2.org/
Gtk2 - https://packages.msys2.org/package/ming ... 86_64-gtk2
Gtk3 - https://packages.msys2.org/package/ming ... 86_64-gtk3
Gtk4 - https://packages.msys2.org/package/ming ... 86_64-gtk4
Ich habe vor wenigen Jahren Gtk3 mit Gnome-Builder unter Windows ausprobiert und es ging wunderbar.
https://www.msys2.org/
Gtk2 - https://packages.msys2.org/package/ming ... 86_64-gtk2
Gtk3 - https://packages.msys2.org/package/ming ... 86_64-gtk3
Gtk4 - https://packages.msys2.org/package/ming ... 86_64-gtk4
Ich habe vor wenigen Jahren Gtk3 mit Gnome-Builder unter Windows ausprobiert und es ging wunderbar.
-
- Beiträge: 6210
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Dies ist sicher eine super Sache, wen man für sich experimentieren will.Man kann msys2 unter Windows nutzen, welches viele Linux-Tools und Linux-Libs anbietet, die man dann einfach nutzen kann. Es wird sogar Pacman angeboten, der PM von Arch-Linux.
Ich hatte mal vor vielen Jahren mingw auf meinem PC, man konnte da schon KDE auf Windows laufen lassen.
Ich vermute, das unterdessen einiges in dieser Richtung gegangen ist, es ist über 10 Jahe her.
Ich denke, dies ist eher eine Sache für Freaks.
Dies Auswahl an Paketen ist recht gewachsen: https://packages.msys2.org/package/
Auch findet man in viele sourcen, zB. Athena Widget "mingw".
Aber stell die vor, du schreibst eine App, dies dies alles nutzt und gibst die App weiter.
Willst du dem Nutzer zumuten, das er dieses Zeugs auch alles installiert ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Ich nehme an das man über den Installer alles mitgibt. Du installierst Gimp unter Windows auch einfach so und kümmerst dich nicht um seine Abhängigkeit. Also sollte das alles machbar sein
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Wenn du das aufgrund des Thread Themas ausprobieren möchtest, bin ich mir nicht so sicher, dass GTK+ auf Windows dasselbe Verhalten zeigt wie auf Linux.
Letztlich greift es auch auf Winapi zurück.
Es kann sein, aber ich würde es eher nicht vermuten.
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Wie es funktioniert vermag ich nicht zusagen. Unter Linux installiere ich Gnome-Builder, erstelle ich ein GTK-Gnome-Projekt in C, drücke auf "Run", es wird kompiliert und ausgeführt. Mehr kann ich mit GTK und C nicht.
Mit MSYS2 habe ich Gnome-Builder installiert, C GTK-Gnome-Projekt erstellt und mit "Run" kompiliert und ausgeführt. Die Programme sahen unter Windows wie Gnome3 Programme unter Linux aus.
Ich selbst bringe mir eher Python mit Qt bei, was für mich einfacher zu verstehen und zu nutzen ist. Das passt sich automatisch dem jeweiligen OS an. Ich habe mir auch schon Gtk3 mit Python angeschaut, aber habe noch keine Ausreichende Erfahrungen damit gesammelt. Auch weil ich wenig Dokumentation dazu finde. GTK wird außerhalb von Linux praktisch nicht eingesetzt, habe ich mir mal sagen lassen. Da ist Qt viel mehr verbreitet.
Mit MSYS2 habe ich Gnome-Builder installiert, C GTK-Gnome-Projekt erstellt und mit "Run" kompiliert und ausgeführt. Die Programme sahen unter Windows wie Gnome3 Programme unter Linux aus.
Ich selbst bringe mir eher Python mit Qt bei, was für mich einfacher zu verstehen und zu nutzen ist. Das passt sich automatisch dem jeweiligen OS an. Ich habe mir auch schon Gtk3 mit Python angeschaut, aber habe noch keine Ausreichende Erfahrungen damit gesammelt. Auch weil ich wenig Dokumentation dazu finde. GTK wird außerhalb von Linux praktisch nicht eingesetzt, habe ich mir mal sagen lassen. Da ist Qt viel mehr verbreitet.
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Also, ehrlich gesagt, wenn es darum geht, dass ich meine User zwingen muss, für ein "nebensächliches" Feature ein Riesenpaket an Zusatzsoftware zu installieren, würde ich mich fragen, ob ich nicht auf dem "Holzweg" bin.
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
+1
Für meinen Geschmack ist das ganze Thema auf dem Holzweg.
In der Gastro-Küche sagt man: "Der Tellerrand gehört der Bedienung".
Das meint, dass die Küche nicht dort ihre Petersilie und Deko-Crème drauf machen soll, wo die Bedienung mit dem Daumen den Teller halten muss.
Tut die Küche das trotzdem, gilt das als "Grenzüberschreitung" und gibt Zoff.
Ein ähnliches Prinzip gilt für mich für die Titelleiste/Fensterdekoration. Diese gehört mMn dem Betriebssystem/Fenstermanager.
Borderstyle := bsNone ist mMn nur für Popups gedacht, nicht für Hauptfenster.
Diese werden dadurch auch nicht mehr wie gewohnt "sizeable".
Aber gut, verboten ist es nicht direkt. Viel Spaß!
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Ich sehe das so das in dem Fall dieses nebensächliche Feature von Lazarus nicht unterstützt wird, weil es nur auf die alte Windows GUI Zugriff hat. Unter Windows gibt es mit WPF, MAUI mittlerweile andere Ansätze, welche große Freiheiten lassen. Das alte GUI von Windows sollte für neue Software gar nicht mehr eingesetzt werden.
Die klassische Titelbar unter Windows verschwindet zusehends. Und Gnome3 hat sich von der klassischen Titelleiste mittlerweile auch verabschiedet. Es stellt aber auch Werkzeuge bereit, wo nichts umgebogen werden muss.
Für Lazarus gibt es mit Fresnel vielleicht mal eine moderne UI, wo das klassische Titelbar auch nicht mehr gebraucht wird.