Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизКак перемещать форму удерживая за любое свободное на ней место? Найти похожие ветки
← →
DimaLos © (2004-03-15 10:08) [0]Подскажите как перемещать форму удерживая за любое свободное на ней место?
← →
Serge © (2004-03-15 10:10) [1]Пиши процедуру по обработке WM_NCHITTEST
← →
DimaLos © (2004-03-15 10:12) [2]Пожалуйста, можно подробнее?
← →
ssk (2004-03-15 10:17) [3]procedure Form1.OnMouseMove(...);
begin
if ssleft in shift then
begin
ReleaseCapture;
Form1.perform(WM_syscommand, $F012, 0);
end;
end;
← →
serge © (2004-03-15 10:22) [4]Либо
procedure WMNCHITTEST (var Msg : TWMNCHit); message WM_NCHITTEST;
...
procedure TForm1.WMNCHITTEST (var Msg : TWMNCHit);
Begin
inherited;
With Msg do
begin
if Msg.Result = htClient then
result:=htCaption;
end;
End;
Код писал на память, если что не так - старею значит :)
Удачи.
← →
serge © (2004-03-15 10:25) [5]var Msg : TWMNCHit --> var Msg: TWMNCHitTest
← →
DimaLos © (2004-03-15 11:21) [6]Огромное спасибо!
← →
$tranger © (2004-03-15 14:11) [7]Можно еще и так:
procedure TForm1.Form1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
ReleaseCapture;
Form1.perform(WM_SysCommand, SC_DragMove, 0);
end;
← →
$tranger © (2004-03-15 14:13) [8]Можно еще и так:
procedure TForm1.Form1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
ReleaseCapture;
Form1.perform(WM_SysCommand, SC_DragMove, 0);
end;
← →
dr Tr0jan © (2004-03-15 14:14) [9]Еще один способ есть. Механизм работы такой же.
var
xm,ym:integer;
...
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if (ssleft in shift) then begin
left:=left+(x-xm);
top:=top+(y-ym);
end;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
xm:=x;
ym:=y;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.031 c