Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить позицию курсора мышки на форме [D7]


Pomestnik ©   (2005-01-01 14:26:00) 

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


Andrewp   (2005-01-04 20:51:00) [1]

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

end;

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


Polevi   (2005-01-02 11:51:00) [2]

ScreenToClient, ClientToScreen


grom   (2005-01-01 20:24:00) [3]

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;


abcd   (2005-01-01 19:03:00) [4]

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;


Sirex   (2005-01-01 15:59:00) [5]

если это обычная форма то в событии 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.


Vaitek   (2005-01-01 15:41:00) [6]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо