Rahmenloses Fenster mit Hilfe des MainMenus verschieben

Rund um die LCL und andere Komponenten
kirchfritz
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

Beitrag von kirchfritz »

Unter Windows funktioniert dies nicht!

Benutzeravatar
theo
Beiträge: 10500
Registriert: Mo 11. Sep 2006, 19:01

Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben

Beitrag von theo »

Mathias hat geschrieben:
Sa 30. Dez 2023, 16:13
Da meine Windows-Application auch ein MainMenu enthält, habe ich mir in den Kopf gesetzt, das Verschieben der Application durch Mausklick in das MainMenu zu realisieren.
Ist dies etwa Linux-Usern vorbehalten ?
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".

kirchfritz
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

Beitrag von kirchfritz »

Gibt es eigentlich auch benutzerdefinierte Komponenten und/oder Bibliotheken von Drittanbietern in der Lazarus-Community, die erweiterte Menüfunktionalitäten bieten?

Mathias
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

Beitrag von Mathias »

Auf Linux (mind. KDE) ist z.B. das gewünschte Verhalten gratis.
Anscheinend auch bei Cinnamon, welches gtk verwendet.

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

kirchfritz
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

Beitrag von kirchfritz »

Wie kompiliert man eine Windows App auf GTK?

Mathias
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

Beitrag von Mathias »

kirchfritz hat geschrieben:
Sa 30. Dez 2023, 17:38
Wie kompiliert man eine Windows App auf GTK?
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

Benutzeravatar
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

Beitrag von af0815 »

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).

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben

Beitrag von hum4n0id3 »

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.

Mathias
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

Beitrag von Mathias »

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.
Dies ist sicher eine super Sache, wen man für sich experimentieren will.
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

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben

Beitrag von hum4n0id3 »

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 :wink:

Benutzeravatar
theo
Beiträge: 10500
Registriert: Mo 11. Sep 2006, 19:01

Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben

Beitrag von theo »

kirchfritz hat geschrieben:
Sa 30. Dez 2023, 17:38
Wie kompiliert man eine Windows App auf GTK?
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.

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben

Beitrag von hum4n0id3 »

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.

wp_xyz
Beiträge: 4895
Registriert: Fr 8. Apr 2011, 09:01

Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben

Beitrag von wp_xyz »

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.

Benutzeravatar
theo
Beiträge: 10500
Registriert: Mo 11. Sep 2006, 19:01

Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben

Beitrag von theo »

wp_xyz hat geschrieben:
So 31. Dez 2023, 12:10
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.
+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. :lol:

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ß! :wink:

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben

Beitrag von hum4n0id3 »

wp_xyz hat geschrieben:
So 31. Dez 2023, 12:10
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.
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.

Antworten