Delphi - setcursorpos

 
Vista:

setcursorpos

Publicado por rita (16 intervenciones) el 24/11/2004 16:52:52
Hola amigos!!!!!!!!!Tengo un problema y creo que me voy a volver loca. El problema es el siguiente: quiero que el cursor del ratón se me mueva (arriba, abajo, derecha, izquierda) según las flechas de cursores del teclado. Sé que es con el método setcursorpos y que tienes que saber la diferencia en coordenadas entre la pantalla y la posición del form, pero no me funciona, por ejemplo si tengo las siguientes líneas de programación:
if key=vk_up then
begin
setcursorpos(x,y);
y:=y+3;
end;
if key=vk_down then
begin
setcursorpos(x,y);
y:=y-3;
end;
if key=vk_right then
begin
setcursorpos(x,y);
x:=x+3;
end;
if key=vk_down then
begin
setcursorpos(x-3,y);
x:=x-3;
end;
cuando pulso la flecha para desplazarme hacia la derecha no se mueve, si pulso la de la arriba se mueve en diagonal y las de abajo e izquierda se mueven correctamente.
Por favor si saben que es lo que pasa o si hay alguna otra forma de moverme AYÚDENME

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:setcursorpos

Publicado por Dr Juzam (821 intervenciones) el 24/11/2004 22:46:02
A ver si etsto te ayuda:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
x, y: integer;
begin
x:=Mouse.CursorPos.X;
y:=Mouse.CursorPos.Y;
if key=vk_up then begin
y:=y-3;
setcursorpos(x,y);
end;
if key=vk_down then begin
y:=y+3;
setcursorpos(x,y);
end;
if key=vk_right then begin
x:=x+3;
setcursorpos(x,y);
end;
if key=vk_left then begin
x:=x-3;
setcursorpos(x-3,y);
end;

end;

Suerte!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar