Вниз
Скачать: CL | DM;

Как отловить перемещение мыши по экрану   Найти похожие ветки 

← →
Micah'GF   (2004-05-29 10:44) [0]

Нужно сделать чтобы форму можно было таскать не за заголовок, а за любое место...


← →
Stany ©   (2004-05-29 11:02) [1]

Нужно объявить процедуру в частных объявлениям (после ключевого слова Private):


private
 { Private declarations }
 procedure WMNCHitTest (var M: TWMNCHitTest); message wm_NCHitTest;


В области implementation описываем процедуру так:

implementation
{$R *.DFM}

procedure TForm1.WMNCHitTest (var M:TWMNCHitTest);
begin
 inherited;
 if M.Result = htClient then
   M.Result := htCaption;
end;

Мы выдаём клиентскую область окна за заголовочную область.


← →
GuAV ©   (2004-05-29 11:11) [2]

Stany ©   (29.05.04 11:02) [1]

А мне этот способ не нравится, т.к.
1. Для WinControl надо делать htTransparent
2. У label-ов хинты не показываются


← →
Stany ©   (2004-05-29 11:13) [3]

а так:

Обрабатываем OnMouseDown:
ReleaseCapture;
Perform(WM_SYSCOMMAND, $F012, 0);


← →
grom   (2004-05-29 13:30) [4]

var
 Form1: TForm1;
 b: boolean;
 iX,iY: integer;
....
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin if b then begin
Left:= Left + x - iX;
Top:= Top + y - iy;
end;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
b:= true;
iX:= x;
iY:= y;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
b:= false;
end;


← →
GuAV ©   (2004-05-29 14:42) [5]


> а так:
>
> Обрабатываем OnMouseDown:
> ReleaseCapture;
> Perform(WM_SYSCOMMAND, $F012, 0);


А так - хорошо. Спасибо. Думаю автору ветки тоже понравится.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
1-1088003235
Новенький
2004-06-23 19:07
2004.07.11
Имя файла


14-1087502171
Blackman
2004-06-17 23:56
2004.07.11
Освободи мощь Shift!


1-1088605916
zep
2004-06-30 18:31
2004.07.11
StringGrid


6-1084428865
P.D.YU
2004-05-13 10:14
2004.07.11
tserversocket and tclientsocket


4-1085812822
Micah'GF
2004-05-29 10:40
2004.07.11
Как отловить перемещения мыши по экрану




   Наверх