Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

Как определить позицию курсора мышки на форме   Найти похожие ветки 

 
Pomestnik   (2005-01-01 14:26) [0]

Как определить позицию курсора мышки на форме??
Ну например есть форма 300х300 Если курсор находится в е центре этой
формы, то выводятся координаты курсора относительно формы а не экрана


 
Vaitek ©   (2005-01-01 15:41) [1]

Попробуй в хелпе поискать CursorPos или что-то типа того.


 
Sirex   (2005-01-01 15:59) [2]

если это обычная форма то в событии OnMouseMove формы
параметры x и y. Но если надо определить в  другом месте, то
var p : TPoint;
begin
GetCursorPos(p);
Dec(p.x,Form1.Left+FRMW);// +4 ширина
Dec(p.y,Form1.Top+FRMH);
Caption := Format("%d %d",[p.x,p.y]);
end;
Вместо FRMW - подставь 4 (или другое значение в зависимости от ширины рамки формы, т.к. свойство left формы относительно его левого края в окне, а не левого края рабочей части),
Вместо FRMH - кажеться 23 (ширина заголовка)
Вообщем можешь подогнать, не знаю как по-другому
Естественно, если formStyle = bsNone, то FRMW и FRMH = 0.


 
abcd   (2005-01-01 19:03) [3]

procedure TForm1.Timer1Timer(Sender: TObject);
var p : TPoint;
begin
GetCursorPos(p);
Label1.Caption :=IntToStr(p.X-ClientOrigin.X)+" X "+IntToStr(p.Y-ClientOrigin.Y);
end;


 
grom   (2005-01-01 20:24) [4]

procedure WndProc(var Msg : TMessage); override;
...
procedure TForm1.WndProc(var Msg : TMessage);
begin
Label1.Caption :=IntToStr(Mouse.CursorPos.X-ClientOrigin.X)+" X "+IntToStr(Mouse.CursorPos.Y-ClientOrigin.Y);
inherited;
end;


 
Polevi ©   (2005-01-02 11:51) [5]

ScreenToClient, ClientToScreen


 
Andrewp ©   (2005-01-04 20:51) [6]

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin

end;

x и y и есть позиция курсора на форме



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.032 c
1-1107105535
k@rt
2005-01-30 20:18
2005.02.20
BorderStyle bsDialog + bsSizeable


1-1107517664
Vladimir29
2005-02-04 14:47
2005.02.20
клавиатура


1-1107844307
Gost
2005-02-08 09:31
2005.02.20
Как "просканировать" каталог на наличие в нем определ. файлов?


14-1107080979
Yuri Btr
2005-01-30 13:29
2005.02.20
Проблема с csrss.exe


6-1101214635
R.O.O.T
2004-11-23 15:57
2005.02.20
Ресурсы типа С$,D$,ADMIN$





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский