Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: 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 вся ветка

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
6-1084635086
delpher_gray
2004-05-15 19:31
2004.07.11
TNMHTTP - Если часто выполняется GET, возникает ошибка !


3-1087348450
vasko
2004-06-16 05:14
2004.07.11
Создание компонента нагорячуую


6-1084438151
xman
2004-05-13 12:49
2004.07.11
пересылка картинки по стеи


14-1087550528
IceBeerg
2004-06-18 13:22
2004.07.11
Помогите с маленькой "заковыркой" в XP


1-1088257382
{beginner}
2004-06-26 17:43
2004.07.11
Как создать поток в run-time?