Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Maus und Tastatur-Daten abfragen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 05.09.2009, 20:29    Titel: Maus und Tastatur-Daten abfragen Antworten mit Zitat

Hallo,

kennt jemand Wege wie man ohne Getmouse, Inkey und ScreenEvent an Maus/Tastatur-Daten rankommen kann?

Ich danke mal, das wird in richtung API gehen.. etwas plattformübergreifendes wirds daher wahrscheinlich nicht geben. Aber wäre klasse wenn jemand Windows als auch Linux-spezifische befehle dafür posten könnte!

Danke schon mal!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 05.09.2009, 20:41    Titel: Antworten mit Zitat

Ein Thread reicht doch...

Bezüglich Tastatur ist Multikey doch schon ziemlich genau. AFAIK sollte das sogar Multimedia-Tasten erkennen, kann ich aber nicht garantieren. Aber den Rest kann man damit doch problemlos abfragen.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 05.09.2009, 20:45    Titel: Antworten mit Zitat

Nein, da ist die frage eine andere!

Ich will nichts <genauer> abfragen. Ich möchte die mausposition und tastatureingaben in einem fenster abfragen in dem keine Getmouse, inkey und ScreenEvent möglich sind!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 05.09.2009, 20:50    Titel: Antworten mit Zitat

Ja sag das doch gleich. lächeln (Wobei es bezüglich Maus wohl aufs selbe rauskommt.)

Plattformübergreifend gibt es da 100% nichts ohne Verwendung von Bibliotheken wie SDL, da das Fensterhandling bei jeder Plattform ganz anders ist. Aber SDL ist da doch ein ganz gutes Stichwort... lächeln
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 05.09.2009, 20:59    Titel: Antworten mit Zitat

Unter windows dachte ich eher dran den WindowHandle des fensters zu ermitteln ... dann mitner api-anweisung die X-Y-Button-Daten der maus abzufragen. Gibts da keinen 2 oder 3-zeiler?

Unter Linux wär sowas natürlich auch klasse.. nur da kenn ich gar keine vorgehensweise...

(Das ist übrigens ein FBGFX-Fenster welches in einer DLL-Funktion aufgerufen wird.. Nur funktionieren in der DLL die Inkey und Getmouse-funktionen nicht für das aufgerufene Fenster :-/ .. )
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 06.09.2009, 12:55    Titel: Antworten mit Zitat

ich kenn mich damit zwar nicht so aus aber.. könnte man nicht die GetMouse/Inkey routinen dort mit Reinpacken? sprich du erstellst Funktionen in der DLL(vorrausgesetzt die DLL ist von dir und du kannst sie bearbeiten) die etwa so aufgebaut sind:

Code:

Function GetMouseX() as Integer
  dim mx as Integer
  GetMouse(mx)
  return mx
end function

Function GetMouseY() as Integer
  dim my as Integer
  GetMouse(my)
  return my
end function

Function InkeyDLL() as String
  dim Ink as String
  Ink = Inkey$
  return Ink
end function

'usw...
'Wie man mehrere Variablen zurückgeben kann weiß ich leider nicht




Damit könntest du doch dann in deinem Proggi die Eingaben prüfen, ich weiß leider nur nicht ob das so auch funktionieren kann.. es kann natürlich auch sein, dass die Maus und Inkey funktionen sich u.U. nur auf das Falsche FBGfX-Fenster beziehen

musst du halt mal ausprobieren

mfG

d1rty happy h4rry
_________________
"Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 06.09.2009, 22:22    Titel: Antworten mit Zitat

@d1rty.h4rry: Genau das funktioniert leider nicht traurig .. hast du genau diese funktionen mal in eine DLL gepackt und von einem hauptprorgamm aus aufgerufen? .. da kommt leider nix bei rum traurig(
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 06.09.2009, 22:26    Titel: Antworten mit Zitat

Zitat:
'Wie man mehrere Variablen zurückgeben kann weiß ich leider nicht

Schonmal was von Arrays gehört?
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 06.09.2009, 23:16    Titel: Antworten mit Zitat

Ansonsten nehme ich da auch gern mal ein UDT zur Rückgabe. Möglich wäre auch eine Parameterübergabe BYREF, da würde ich mir aber gut überlegen, ob es sinnvoll ist.
(GETMOUSE funktioniert übrigens in der Art)
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 07.09.2009, 08:54    Titel: Antworten mit Zitat

Code:

sub GetMouse2 cdecl alias "getmouse2"(byref mx as integer, byref my as integer, byref ms as integer, byref mb as integer) export
   getmouse mx,my,ms,mb
end sub


So hatte ich das gemacht.. prinzipiell funktioniert die Funktion super, nur getmouse liefert keine werte (-1)

Etwas ähnliches hatte ich mit ScreenEvent und Inkey versucht.. jeweils mit keinen änderungen in den Werten wenn man mit der maus über das fenster fährt oder ne taste drückt.. (natürlich bei aktivierten dll-fenster!)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz