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:

Probleme mit GETMOUSE

 
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
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 20.07.2005, 18:35    Titel: Probleme mit GETMOUSE Antworten mit Zitat

Hallo ich hab hier ein paar Probleme mit GETMOUSE in FB.
Probiert folgenden Code aus:

Code:
screen 18
do
click=0
   getmouse x,y,scroll,t
   if t=1 and t10=0 then
      click=1
   end if
   t10=t
if click=1  then print "Juhu"
loop


Wen man nur in das Fenster klick erscheint ein "Juhu". Nun möchte ich aber das mein Prog erkennt wen die Maustaste länger gedrückt bleibt. Also das dann ganz viele "Juhu's" auf einmal erscheinen durchgeknallt zwinkern

Problem 2.
Angenomen ich mache ein kleines Klickfeld mit LINE und PAINT, ich könnte ja feststellen ob die Kordinaten der Maus an einem Punkt des "klickfelds" sind und dann kommt der User zum entsprehcenden Menüpunkt. Ich kann natürlich nich für jeden Punkt sowas wie "IF x=x1 and y=y1 THEN ..." schreiben. Wie mache ich also soetwas.

Die Fragen sidn jetzt vllt. ein bissel dumm, aber ich arbeite das erste mal mit GETMOUSE in FB zwinkern
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 20.07.2005, 18:42    Titel: Antworten mit Zitat

Huhu DK,

zu Frage 1: Na also du hast die Lösung für 1x Impuls bei Klick ja schon geschafft, was normalerweise der schwerere Part ist.. Wenn du immer einen Impuls haben möchtest (ich nenns einfach mal so) reicht vollkommen, wenn du schreibst:
Code:
screen 18
do
   getmouse x,y,scroll,t
   if t=1  then ?"Juhu";c:c=c+1    'Das c ist nur, damit man einen Unterschied erkennt bei vielen Juhu-Printungen :)
loop


zu Frage 2: Wenn du keine LIB verwenden möchtest für die Buttons kannst du folgendes machen:
Code:
screen 18
LINE (100,100)-(300,200),1,bf
LINE (100,100)-(300,200),9,b
do

   'Meine Klick-Routinenlösung happy
   old.tmp=tmp
   getmouse x,y,scroll,tmp
   if tmp=0and old.tmp<>0then click=1 else click=0

   if click and x>99and x<301and y>99and y<201 then ?"Es wurde ins Rechteck geklickt":sleep 1500:end
   
loop


Grüßle,
Mecki
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 20.07.2005, 20:34    Titel: Antworten mit Zitat

Danke das zweite klappt zumindest Prima (das erste hab ich noch nicht getestet). Und das man so Felder zeichen kann hab ich auch noch nicht gewusst verlegen , is das ein neues FB Ding, oder gibts das auch in QB ?
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 21.07.2005, 10:02    Titel: Antworten mit Zitat

Mit B und BF?

Das gab's schon in QBASIC peinlich

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 21.07.2005, 13:38    Titel: Antworten mit Zitat

Autsch! lächeln
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 21.07.2005, 14:24    Titel: Antworten mit Zitat

jb hat Folgendes geschrieben:
Mit B und BF?

Das gab's schon in QBASIC peinlich

jb


Schlagt mich Hammer
Man lernt eben nie aus happy
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 21.07.2005, 16:22    Titel: Antworten mit Zitat

weiser Devilkevin hat Folgendes geschrieben:

Man lernt eben nie aus happy

Welch tiefgreifende Erkenntnis durchgeknallt

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 29.07.2005, 12:20    Titel: Antworten mit Zitat

Ok, nächstes Problem weinen
ich habe eine Grafik die ihre Position verändert.
Etwa so:
Code:

BLOAD "beispiel.bmp", VARPTR(image(0))
SCREEN 18
RANDOMIZE TIMER
DO
CLS
x = int(rnd*400)+1
y = int(rnd*400)+1
PUT (x,y), image
SLEEP 1000
LOOP


Das "Klickfeld" (siehe oben) soll immer dort sein wo das Bild auch gerade ist, ich hab nur schon ne Menge probiert aber ich komm einfach nicht auf die Lösung.
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 29.07.2005, 12:36    Titel: Antworten mit Zitat

Wie wär's mit sowas:

Code:
BLOAD "beispiel.bmp", VARPTR(image(0))
Breite% = ?
Hoehe% = ?
SCREEN 18
RANDOMIZE TIMER
DO
CLS
x = int(rnd*400)+1
y = int(rnd*400)+1
PUT (x,y), image
t! = TIMER
 DO
  SLEEP 2
  GETMOUSE MX%, MY%
  If MX% > x AND MX% < x + Breite% And MY%>y AND MY%<y+Hoehe% Then
   PRINT "AAAUU!"
  END IF
 LOOP UNTIL TIMER>t!+1
LOOP

_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 29.07.2005, 13:49    Titel: Antworten mit Zitat

Also ein bisschen mitdenken kann man ja auch. peinlich

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 29.07.2005, 16:49    Titel: Antworten mit Zitat

Is ja nicht so als hätte ichs nicht versucht peinlich
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 29.07.2005, 17:03    Titel: Antworten mit Zitat

Na gut, aber wenn man das Prinzip verstanden hat, sollte es eigentlich gehen Zunge rausstrecken zwinkern

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
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