mouseklick mit window
mouseklick mit window
hi,
ich komm nicht weiter.
ich hab ein windowedscreen erstellt und brauch ich einen mausklick, eher gesagt muss ein bild angeklickt werden. mit MouseX() gehts nicht weil ich sonst die maus nicht sehe, also muss ich auf windowmousex() zurückgreifen, nur wie soll ich da den mausklick bewerkstelligen?? einen befehl dafür hab ich nicht gesehen.
mfg
parzival
ich komm nicht weiter.
ich hab ein windowedscreen erstellt und brauch ich einen mausklick, eher gesagt muss ein bild angeklickt werden. mit MouseX() gehts nicht weil ich sonst die maus nicht sehe, also muss ich auf windowmousex() zurückgreifen, nur wie soll ich da den mausklick bewerkstelligen?? einen befehl dafür hab ich nicht gesehen.
mfg
parzival
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: mouseklick mit window
Wenn es nur für Windows ist, könnte folgender Code helfen:
Code: Alles auswählen
SetCursorPos_(x, y)
mouse_event_(#MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
mouse_event_(#MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: mouseklick mit window
uf, da blick ich garnicht durch 
also hier ist mal mein code:
(sprite schon geladen und in der hauptschleife!)
wie würde man hier jetzt einen mouseklick reinbringen?

also hier ist mal mein code:
(sprite schon geladen und in der hauptschleife!)
Code: Alles auswählen
If WindowMouseX(0) > 100 And WindowMouseX(0) < 310 And WindowMouseY(0) > 110 And WindowMouseY(0) < 150
;hier sollte es dann weitergehen!
EndIf
Re: mouseklick mit window
also, wenn du nen screen hast, musst du deinen mauszeiger selber anzeigen.
das ist der übliche und einfachste weg.
sonst lässt du InitMouse() und ExamineMouse() komplett weg.
dann kannst du die Maustaste über GetAsyncKeystate_(#VK_LBUTTON) checken.
gibbet auch alte beispiele im forum...
http://www.purebasic.fr/german/viewtopic.php?t=11280
das ist der übliche und einfachste weg.
sonst lässt du InitMouse() und ExamineMouse() komplett weg.
dann kannst du die Maustaste über GetAsyncKeystate_(#VK_LBUTTON) checken.
gibbet auch alte beispiele im forum...
http://www.purebasic.fr/german/viewtopic.php?t=11280
PB 4.41 - Win XP pro
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: mouseklick mit window
parzival hat geschrieben:uf, da blick ich garnicht durch
also hier ist mal mein code:
(sprite schon geladen und in der hauptschleife!)wie würde man hier jetzt einen mouseklick reinbringen?Code: Alles auswählen
If WindowMouseX(0) > 100 And WindowMouseX(0) < 310 And WindowMouseY(0) > 110 And WindowMouseY(0) < 150 ;hier sollte es dann weitergehen! EndIf
Code: Alles auswählen
SetCursorPos_(101, 111)
mouse_event_(#MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
mouse_event_(#MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- captain_hesse
- Beiträge: 138
- Registriert: 17.05.2009 18:55
- Computerausstattung: Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
- Wohnort: Saarland
Re: mouseklick mit window
Es geht auch ohne API
Wenn ich das richtig verstanden hab sollte dir das helfen.
Code: Alles auswählen
InitSprite()
OpenWindow(0,0,0,320,200,"klick")
OpenWindowedScreen(WindowID(0),0,0,320,200,0,0,0)
text$="In den Screen klicken zum beenden"
Repeat
event=WindowEvent()
If event=#WM_LBUTTONDOWN
;Dein Code, Break steht jetzt nur als Beispiel da.
Break
EndIf
StartDrawing(ScreenOutput())
DrawText(10,90,text$)
StopDrawing()
FlipBuffers()
ForEver
CloseScreen()
CloseWindow(0)
End
Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: mouseklick mit window
Soso, ohne APIcaptain_hesse hat geschrieben:Es geht auch ohne API
Code: Alles auswählen
If event=#WM_LBUTTONDOWN

@parzival
Mein Code kannste übrigens vergessen, hab die Frage mißverstanden,
meiner Simuliert den Mausklick, die willst ihn aber abfragen. Naja,
schlecht ausgedrückt die Frage.
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- captain_hesse
- Beiträge: 138
- Registriert: 17.05.2009 18:55
- Computerausstattung: Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
- Wohnort: Saarland
Re: mouseklick mit window
UPS
Aber trotzdem es ist ja nur die Konstante, der Rest ist PB.

Aber trotzdem es ist ja nur die Konstante, der Rest ist PB.
Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: mouseklick mit window
Aber die Konstante und das Event sind Windows-Spezifisch, alsocaptain_hesse hat geschrieben:UPS![]()
Aber trotzdem es ist ja nur die Konstante, der Rest ist PB.
läuft es nur mit der Vollversion unter Windows.
Diese feinen Unterschiede sind für Crossplattform-Programmierung
schon wichtig

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- captain_hesse
- Beiträge: 138
- Registriert: 17.05.2009 18:55
- Computerausstattung: Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
- Wohnort: Saarland
Re: mouseklick mit window
Davon ging ich auch aus, also PB-Vollversion und MS-Windows.Aber die Konstante und das Event sind Windows-Spezifisch, also
läuft es nur mit der Vollversion unter Windows.
Ansonsten hast du natürlich vollkommen recht. Obwohl ich mir garnicht so sicher bin das es mit der Demo unter Windows nicht klappen würde wenn man den Wert der Konstante kennt.
Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)