Вниз
Скачать: 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.02 c
3-1087450665
Berezne
2004-06-17 09:37
2004.07.11
Кодировка файлов БД dBase


3-1087278583
Andrey
2004-06-15 09:49
2004.07.11
Программно добавить ODBC DSN


1-1088067133
legioner
2004-06-24 12:52
2004.07.11
копирование


1-1088353420
alexa
2004-06-27 20:23
2004.07.11
Курсор ввода в Edit


1-1088454767
Incognito
2004-06-29 00:32
2004.07.11
Как скомпилить программу




   Наверх