Entwickler-Ecke

Windows API - Mausklick überprüfen


hannibal87 - Fr 08.04.05 15:43
Titel: Mausklick überprüfen
Hallo,
wie kann ich überpfrüfen, ob die linke Maustaste gedrückt wird.


WeBsPaCe - Fr 08.04.05 15:44

Schau mal nach OnClick... ;)

Suche in: Delphi-Forum, Delphi-Library ONCLICK


hannibal87 - Fr 08.04.05 15:49

Dann finde ich nichts!
Ich möchte nur eine überprüfung in der Art:
if "mausklick=linkemaustaste" then ...


F34r0fTh3D4rk - Fr 08.04.05 15:52

da muss du nen hook nehmen, also lass es lieber ^^ oder du fragst das mouseup/down ab und änderst das in einer variable die du dann in deinem programm abfragen kannst, oder brauchst du das global, dann musst du nen hook nehmen :?


WeBsPaCe - Fr 08.04.05 15:56

Dann such nach OnMouseDown bzw. OnMouseUp... ;)

//EDIT: Und schau mal hier [http://www.delphi-forum.de/viewtopic.php?t=3933] meinen zweiten Beitrag... ;)


hannibal87 - Fr 08.04.05 15:57

Ich möchte abfragen,ob die Maus über einem dynamisch erstellten Shape ist und wenn ja, dann soll ,wenn mit der linken Maustaste geklickt wird, eine Procedure ausgefürt werden.

Die Abfrage, wo sich die Maus befindet(GetCursorPos(position) habe ich schon.


WeBsPaCe - Fr 08.04.05 15:58

Siehe oben meinen "//EDIT"... ;)


retnyg - Fr 08.04.05 16:11

siehe hier: http://www.delphi-forum.de/viewtopic.php?t=38912&highlight=wmlbuttondown drittunterster beitrag.


hannibal87 - Fr 08.04.05 16:12

(wie soll das: http://www.delphi-forum.de/viewtopic.php?t=3933 helfen?)

Ich mag ja dumm sein und nerven, aber ich habe keine von Begin an Feste Shapes, die ich mit
mousedown-Ereignissen ausstatten kann.

Das ist bis jetzt meine Procedure:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
Procedure  tform1.Klick;
var u,x,y : integer;
var position : tpoint;
var  a : TShiftState;
begin
GetCursorPos(position);

for u:=1 to Zaehler do

 if position.x>(TShape(FindComponent('auf'+inttostr(u))).left) then 
 if position.x<(TShape(FindComponent('auf'+inttostr(u))).left)                                    +(TShape(FindComponent('auf'+inttostr(u))).width)then
 if position.y>(TShape(FindComponent('auf'+inttostr(u))).top)+20 then 
 if position.y<(TShape(FindComponent('auf'+inttostr(u))).top)+(TShape(FindComponent('auf'+inttostr(u))).height)+20then
 begin

 //wenn mausklick,dann.....

 end;
end;


Moderiert von user profile iconraziel: Delphi-Tags hinuzgefügt.


fvolk - Fr 08.04.05 16:20

Warum weist du dem OnClick-Ereignis deines dynamisch erzeugten Shapes nicht einfach eine Funktion zu?


hannibal87 - Fr 08.04.05 16:22

Wie geht das?


retnyg - Fr 08.04.05 16:25

http://www.delphi-forum.de/viewtopic.php?t=38918&highlight=create+onclick