hallo leute,
ich brauche eigentlich generel eine übersicht an möglichkeiten unter linux, die sich mit dem umfang des win-api mehr oder weniger vergleichen lassen. ich meine nicht einfach so was wie "gtk.org" oder sowas.
sondern einen richtigen übersicht, wie:
win-api linux
element_a entspricht element_x
im moment brauche ich linux-varianten für:
SetParent und SetWindowPos
mfg
kurt
win-api > linux
- 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
Re: win-api > linux
Da wirst Du nicht viel Glück haben, Linux und Windows funktionieren total unterschiedlich.
Das GUI System ist anders, das EventSystem ist anders usw., wirst Dich also mit GTK, Gnome usw.
auseinandersetzen müssen.
Das GUI System ist anders, das EventSystem ist anders usw., wirst Dich also mit GTK, Gnome usw.
auseinandersetzen müssen.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
Re: win-api > linux
Das ist mir schon klar. ich will ja nur wissen, wie man manche dinge, die unter windows umgesetzt, wie es eben unter linux umgesetzt wird.
also eher eine konzeptsache.
wie kann man unter linux(gtk) einen borderless-window in den mutterfenster reinholen und während der laufzeit durch klick
auf ein button außerhalb des fensters verschieben, wie als würde man das ganze unter win mit setparent machen?
und dann gibt es noch die frage, wie kann man ein fenster unter linux dazu bringen, das es zwar auf maus und gar
tastatur-ereignisse reagiert, aber dessen mutterfenster dennoch fokusiert bleibt. also in vordergrund bleibt.
ich muss das in erfahrung bringen, um eine eigene lösung für ein popup-menü zu basteln, das letztendlich auf borderless-window aufbaut.
mfg
kurt
also eher eine konzeptsache.
wie kann man unter linux(gtk) einen borderless-window in den mutterfenster reinholen und während der laufzeit durch klick
auf ein button außerhalb des fensters verschieben, wie als würde man das ganze unter win mit setparent machen?
und dann gibt es noch die frage, wie kann man ein fenster unter linux dazu bringen, das es zwar auf maus und gar
tastatur-ereignisse reagiert, aber dessen mutterfenster dennoch fokusiert bleibt. also in vordergrund bleibt.
ich muss das in erfahrung bringen, um eine eigene lösung für ein popup-menü zu basteln, das letztendlich auf borderless-window aufbaut.
mfg
kurt
Re: win-api > linux
SetParent gibt's nicht (hab's zumindest nicht auf gtk.org gefunden).
Das einzige was in die Richtung gehen könnte wäre: http://www.gtk.org/api/2.6/gtk/GtkWindo ... nsient-for
SetWindowPos gibt's auch nicht, zumindest nicht so wie unter Windows (man kann keine Koordinaten angeben).
Aber da du ja ein PopupMenü erstellen möchtest, kannst du den Befehl doch gebrauchen.
Man kann nämlich die aktuelle Mausposition verwenden: http://www.gtk.org/api/2.6/gtk/GtkWindo ... t-position
Gültige Konstanten für diese Funktion stehen hier: http://www.gtk.org/api/2.6/gtk/gtk-Stan ... owPosition
#GTK_WIN_POS_MOUSE sollte das Richtige für dich sein.
Wie das alles geht, was du willst wird dir sicherlich keiner raussuchen (außer er verfolgt das gleiche Ziel).
Such mal bei Google nach
Von da aus einfach mit Firefox Suchfunktion (Strg+F) nach position und nach parent gesucht. Tadaaa.
Das einzige was in die Richtung gehen könnte wäre: http://www.gtk.org/api/2.6/gtk/GtkWindo ... nsient-for
SetWindowPos gibt's auch nicht, zumindest nicht so wie unter Windows (man kann keine Koordinaten angeben).
Aber da du ja ein PopupMenü erstellen möchtest, kannst du den Befehl doch gebrauchen.
Man kann nämlich die aktuelle Mausposition verwenden: http://www.gtk.org/api/2.6/gtk/GtkWindo ... t-position
Gültige Konstanten für diese Funktion stehen hier: http://www.gtk.org/api/2.6/gtk/gtk-Stan ... owPosition
#GTK_WIN_POS_MOUSE sollte das Richtige für dich sein.
Wie das alles geht, was du willst wird dir sicherlich keiner raussuchen (außer er verfolgt das gleiche Ziel).
Such mal bei Google nach
So bin ich zur Fenster-Befehlsübersicht gekommen.site:gtk.org "set window position"
Von da aus einfach mit Firefox Suchfunktion (Strg+F) nach position und nach parent gesucht. Tadaaa.
-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
Re: win-api > linux
klingt viel versprechend.
auf der Seite ist mir noch etwas aufgefallen.
WindowType: GTK_WINDOW_TOPLEVEL und *_POPUP.
Wenn außerhalb der Dekokram, *_POPUP sich von *_WINDOW nicht unterscheidet, ist es dann möglich, das man in ihm
jede erdenkliche Widget einbinden kann? oder ist es doch nur zur zwecken der "allgemeinen" menüführung konsipiert?
mfg
kurt
auf der Seite ist mir noch etwas aufgefallen.
WindowType: GTK_WINDOW_TOPLEVEL und *_POPUP.
Wenn außerhalb der Dekokram, *_POPUP sich von *_WINDOW nicht unterscheidet, ist es dann möglich, das man in ihm
jede erdenkliche Widget einbinden kann? oder ist es doch nur zur zwecken der "allgemeinen" menüführung konsipiert?
mfg
kurt
Re: win-api > linux
Woher weißt du, dass *_Popup das gleiche ist wie *_Window?
Hast du die beiden Strukturen verglichen?
Und was soll das hier sein? WindowType: GTK_WINDOW_TOPLEVEL und *_POPUP.
GTK_Window_Toplevel ist eine Style-Konstante.
Die dazu passende (fiktive) PB-Konstante: #PB_Window_AlwayOnTop
*_Popup ist der Pointer (Handle) zu einem Popup-Fenster, welches du vorher erstellen musst.
So hab ich das zumindest verstanden (bin ja kein Linux User)
Hast du die beiden Strukturen verglichen?
Und was soll das hier sein? WindowType: GTK_WINDOW_TOPLEVEL und *_POPUP.
GTK_Window_Toplevel ist eine Style-Konstante.
Die dazu passende (fiktive) PB-Konstante: #PB_Window_AlwayOnTop
*_Popup ist der Pointer (Handle) zu einem Popup-Fenster, welches du vorher erstellen musst.
So hab ich das zumindest verstanden (bin ja kein Linux User)
-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
Re: win-api > linux
hallo TomS, hab das ja sehr spät gestern verfasst. ist mir auch aufgefallen.
für mich hast sich das längst geklärt und habe nun eine brauchbare lösung etapliert.
mfg
kurt
für mich hast sich das längst geklärt und habe nun eine brauchbare lösung etapliert.
mfg
kurt