Вниз
Скачать: 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.025 c
4-1085757860
SergeyM
2004-05-28 19:24
2004.07.11
GetFileSizeEx


1-1087853757
Алексей
2004-06-22 01:35
2004.07.11
Подскажите, плиз как искать папки


1-1088554460
Alexey Leonchik
2004-06-30 04:14
2004.07.11
Список открытых окон в меню (MDI)


14-1087539445
Apocalepse
2004-06-18 10:17
2004.07.11
Gero и все все все


1-1088150523
Salik
2004-06-25 12:02
2004.07.11
Chart, синтаксис и т.д




   Наверх