Seite 1 von 1
Windows zu Linux Win-Api-Messages übersetzen
Verfasst: 28.01.2022 17:25
von PB_Rainer
Hallo,
ich habe jetzt lange gesucht aber nicht das Erwartete gefunden, deshalb hier die Nachfrage.
Gibt es irgendwo hier oder in anderen Quellen eine Liste, wie man Win-Api-Messages für Linux übersetzt?
Dankbar für jeden Tip.
Rainer
Re: Windows zu Linux Win-Api-Messages übersetzen
Verfasst: 28.01.2022 17:37
von ccode_new
Hallo Rainer,
was erwartest du?
Es gibt keine Windows-Api unter Linux.
(Außer du benutzt CrossOver/Wine)
Wenn du so etwas wie:
#WM_NULL
#WM_CREATE
#WM_DESTROY
#WM_MOVE
#WM_SIZE
#WM_ACTIVATE
;...
suchst, dann ist dies abhängig vom verwendeten Subsystem.
Unter Gtk+ gibt es z.B. Signalhandler.
Dies beruht auf Callback-Funktionen.
Zum Beispiel:
g_signal_connect( win, "destroy", G_CALLBACK (end), #Null)
G_CALLBACK ist hierbei ein Macro.
Re: Windows zu Linux Win-Api-Messages übersetzen
Verfasst: 28.01.2022 18:52
von PB_Rainer
Hallo,
nun, daß es keine Windows_Api bei Linux gibt ist mir klar.
Was ich suche sind äquivalente Aufrufe an Gadgets, die z.B. in Win durch Messages gemacht werden.
z.B.
SendMessage_(GadgetID(Panel_MobaLayout), #TCM_SETMINTABWIDTH, 1, 45)
oder
SendMessage_(GadgetID(Gadget), #LVM_SCROLL, pItem\x, pItem\y -50)
vllt. erwarte ich auch etwas, was bei Linux gar nicht existiert, kenne mich mit Linux vllt. auch nicht genug aus.
MfG
Rainer
Re: Windows zu Linux Win-Api-Messages übersetzen
Verfasst: 28.01.2022 19:10
von ccode_new
Na klar existiert so etwas, aber du müsstest dich dann stärker mit Gtk+ Api befassen.
Die QT-C++ Einbindung ist leider in diesem Bereich unter PureBasic recht eingeschränkt.
Unter Gtk+ ist ein Fenster zum Beispiel ein g_object und darauf können mit einem Container-Model (gtk_container_add) verschieden gtk_widgets untergebracht werden.
Die "gtk_widgets" sind z.B. verschiedene PureBasic-Gadgets.
Diese Widgets haben diverse Eigenschaften und können über bestimmte Gtk-Funktionen beeinflusst werden.
Auch die internen Gtk-Widgets sind jeweils ein eigenes, oder zusammengesetztes "g_object".
Oft werden grundsätzliche Eigenschaften dieser Objekte mit:
g_object_set() gesetzt.
Und mit:
g_object_get() können bestimmte Eigenschaften ausgelesen werden.
Re: Windows zu Linux Win-Api-Messages übersetzen
Verfasst: 28.01.2022 20:33
von Shardik
Eine Möglichkeit besteht darin, in die von mir gepflegte
Link-Liste im englischen Forum für Multiplattform-Beispiele zu schauen, die API-Aufrufe für jede der drei Plattformen nutzen, um spezielle Funktionen zu implementieren, die PureBasic (noch) nicht bietet.
Ein andere Möglichkeit nur für Linux besteht darin, in den zahlreichen
Beispielen in Charly Bauers
PureBasic Linux-API nach der gewünschten Funktion zu suchen.