[gelöst] Mausrad + Keyboard auslesen
Verfasst: 09.01.2019 20:08
Hey,
… ich mal wieder und meine Fragen...
Zum Beispiel in Browsern kann man mit Strg + Mausrad die Schriftgröße ändern. Ich würde das gerne für einen Formular-Resize in PB umsetzen (bzw. mein Frauchen fände das cool für ein Tool, was ich für sie grade schreibe ).
Habe mal ein bisserl geforscht und gegoogelt, aber keinen so richtigen Ansatz gefunden, wie man speziell Änderungen des Mausrades in einer "normalen" Anwendung auslesen kann. In den normalen Events hat man #PB_Event(type)_LeftClick usw. aber kein _MouseWheel-Event oder so. Dann gibt es noch die Mouse-Bibliothek, bei der man das Mausrad mittels MouseWheel() auslesen kann, aber in der Hilfe heißt es: "Verwenden Sie die Befehle dieser Bibliothek nicht in einer regulären Applikation"(... warum eigentlich nicht?). Und dann müsste man dazu noch ermitteln, ob gleichzeitig die Strg-Taste gedrückt ist... Arrrrgh.
Nun ja, wenns nicht geht, dann geht es halt nicht. Oder habt ihr da noch einen Tipp? Ich habe die dumpfe Vermutung, dass sich sowas vielleicht durch Zugriff auf die WinAPI machen lässt, aber von der habe ich keine Ahnung (bin ja froh, wenn ich meinen Basic-Code verstehe). Mal abgesehen davon, dass ich immer versuche, Multiplatform zu bleiben. Ist zwar nicht zwingend, aber ich verwalte z.B. unsere häuslichen Finanzen mit einer selbst zusammengematschten Visual Basic 2010 Datenbankanwendung. Was mich stört, weil es mich auf Windows fixiert. Ich fänd's besser, wenn meine selbstgeschraubten Sache ohne größere Anpassungen auch unter Linux liefen (was ich z.T. auch schon mit Lazarus/FPC hinbekommen habe und mir auch von Pure Basic verspreche, das mir viel Freude macht).
EDIT: Habe in der WinAPI-Library von RSBasic schon mal die Windows-Variante gefunden, wie man generell sehen kann, ob das Mausrad auf oder ab bewegt wurde. Das ist schon mal ein Anfang. Jetzt nur noch rauskriegen, wie man die Ticks herausbekommt und wie man gleichzeitig Funktionstasten abfragt... (wenn man sich denn auf Windows beschränkt). Auf jeden Fall mein Dank an RSBasic: da wär ich im Leben nicht drauf gekommen!
… ich mal wieder und meine Fragen...
Zum Beispiel in Browsern kann man mit Strg + Mausrad die Schriftgröße ändern. Ich würde das gerne für einen Formular-Resize in PB umsetzen (bzw. mein Frauchen fände das cool für ein Tool, was ich für sie grade schreibe ).
Habe mal ein bisserl geforscht und gegoogelt, aber keinen so richtigen Ansatz gefunden, wie man speziell Änderungen des Mausrades in einer "normalen" Anwendung auslesen kann. In den normalen Events hat man #PB_Event(type)_LeftClick usw. aber kein _MouseWheel-Event oder so. Dann gibt es noch die Mouse-Bibliothek, bei der man das Mausrad mittels MouseWheel() auslesen kann, aber in der Hilfe heißt es: "Verwenden Sie die Befehle dieser Bibliothek nicht in einer regulären Applikation"(... warum eigentlich nicht?). Und dann müsste man dazu noch ermitteln, ob gleichzeitig die Strg-Taste gedrückt ist... Arrrrgh.
Nun ja, wenns nicht geht, dann geht es halt nicht. Oder habt ihr da noch einen Tipp? Ich habe die dumpfe Vermutung, dass sich sowas vielleicht durch Zugriff auf die WinAPI machen lässt, aber von der habe ich keine Ahnung (bin ja froh, wenn ich meinen Basic-Code verstehe). Mal abgesehen davon, dass ich immer versuche, Multiplatform zu bleiben. Ist zwar nicht zwingend, aber ich verwalte z.B. unsere häuslichen Finanzen mit einer selbst zusammengematschten Visual Basic 2010 Datenbankanwendung. Was mich stört, weil es mich auf Windows fixiert. Ich fänd's besser, wenn meine selbstgeschraubten Sache ohne größere Anpassungen auch unter Linux liefen (was ich z.T. auch schon mit Lazarus/FPC hinbekommen habe und mir auch von Pure Basic verspreche, das mir viel Freude macht).
EDIT: Habe in der WinAPI-Library von RSBasic schon mal die Windows-Variante gefunden, wie man generell sehen kann, ob das Mausrad auf oder ab bewegt wurde. Das ist schon mal ein Anfang. Jetzt nur noch rauskriegen, wie man die Ticks herausbekommt und wie man gleichzeitig Funktionstasten abfragt... (wenn man sich denn auf Windows beschränkt). Auf jeden Fall mein Dank an RSBasic: da wär ich im Leben nicht drauf gekommen!