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
Windows zu Linux Win-Api-Messages übersetzen
Re: Windows zu Linux Win-Api-Messages übersetzen
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.
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
no Keyboard, press any key
no mouse, you need a cat
Re: Windows zu Linux Win-Api-Messages übersetzen
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
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
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.
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
no Keyboard, press any key
no mouse, you need a cat
Re: Windows zu Linux Win-Api-Messages übersetzen
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.
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.