Windows zu Linux Win-Api-Messages übersetzen

Für allgemeine Fragen zur Programmierung mit PureBasic.
PB_Rainer
Beiträge: 21
Registriert: 10.06.2019 16:00

Windows zu Linux Win-Api-Messages übersetzen

Beitrag 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
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Windows zu Linux Win-Api-Messages übersetzen

Beitrag 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.
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
PB_Rainer
Beiträge: 21
Registriert: 10.06.2019 16:00

Re: Windows zu Linux Win-Api-Messages übersetzen

Beitrag 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
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Windows zu Linux Win-Api-Messages übersetzen

Beitrag 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.
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
Shardik
Beiträge: 738
Registriert: 25.01.2005 12:19

Re: Windows zu Linux Win-Api-Messages übersetzen

Beitrag 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.
Antworten