reagowanie na klikniecie kolkiem myszki

0

jak zmusic program do reakcji na przycisniecie kolka myszki?

chce zrobic program ktory mi ulatwi codzienne zycie :]

0

W OnMouseDown tego, co tam ma reagować na naciśnięcia scrolla, sprawdzasz czy button = mbMiddle :|

0

Zobacz: artykuł1, artykuł2

0

http://delphi.about.com/od/objectpascalide/l/blvkc.htm

tego mi bylo trzeba! dzieki :)

a zeby nie zakladac nowego tematu

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
var
poX, poY : String;
position : TPoint;
begin
if Key = 34 then
begin
GetCursorPos(position);
poX := IntToStr(position.X);
poY := IntToStr(position.Y);
Label1.Caption := 'X: '+poX+'   '+'Y: '+poY;
end;
end;

jak zrobic, zeby przy nacisnieciu srodkowego przycisku ustawialo kursor we wczesniej zapisanej pozycji?

musze to robic funkcjami ktore zwroca mi najpierw X a pozniej Y?

i ostatnie pytanie - czego mam szukac, zeby program mogl byc zminimalizowany do traya i dalej dzialal? tj. po wcisnieciu pgdn zapisywal wspolrzedne a po kliknieciu kolka ustawial tam kursor?

0

SetMousePos albo SetCursorPos, nie jestem pewien bo nie robie w Delphi, ale w c++ jest SetMousePos.

0

ja wiem jaka funkcja jest, SetCursorPos, ale jesli dam if key = xx then setcursorpos(position.x, position.y) pokazuje sie ze te wartosci mogly zostac blednie wczytane (warning) i po wcisnieciu klawisza ustawia mi sie on na x 1023, y 767

0

Position musisz mieć zadeklarowane globalnie, lub statycznie, inaczej będzie Ci gubić jego wartość.

0
var
position : TPoint;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
var
poX, poY : String;
begin
if Key = 34 then
begin
GetCursorPos(position);
poX := IntToStr(position.X);
poY := IntToStr(position.Y);
Label1.Caption := 'X: '+poX+'   '+'Y: '+poY;
end;
end;

[Error] Unit1.pas(35): Types of actual and formal var parameters must be identical
[Error] Unit1.pas(36): Record, object or class type required

:/

zle deklaruje? ja na delphi sie z c przesiadlem, mam jeszcze rozne nawyki

0

Position przenieś do sekcji private lub public formy. Czasami Delphi się o to burzy, mino że nie powinno to przeszkadzać, ot złośliwość rzeczy martwych.

0

działa! dzięki wielkie! :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1