Текущий архив: 2003.05.26;
Скачать: CL | DM;
Вниз
Перетаскивание окна за любою его часть мышкой Найти похожие ветки
← →
volph (2003-03-29 22:46) [0]Перетаскивание окна за любою его часть мышкой, как так сделать?
← →
Palladin © (2003-03-29 22:52) [1]http://delphi.mastak.com/cgi-bin/faq.pl?look=1&id=988619881&n=16
← →
X-RayMan (2003-03-30 12:14) [2]Есть несколько методов, один из них: в OnMouseDown формы написать:
if Button=mbLeft then
Form1.BeginDrag(True);
Есть там еще методы, но я сразу и не вспомню.
← →
Intell © (2003-03-30 14:24) [3]var
MX: integer;
MY: integer;
procedure TForm1.form1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Shift<>[ssLeft] then
begin
MX:=X;
MY:=Y;
end else
begin
Left:=Left+X-MX;
Top:=Top+Y-MY;
end;
end;
← →
Flint © (2003-03-31 08:55) [4]перехватывай WM_NCHITTEST и делай что хочешь :)
Это гораздо мощнее и правильней чем пример данный Palladin"ом :)
← →
BuildeRR © (2003-03-31 13:07) [5]2Flint: Напиши пожалуста примерчик
← →
BorisUK © (2003-03-31 13:54) [6]
procedure TSelectDoc_f.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
ReleaseCapture;
Perform(WM_SysCommand, SC_DragMove, 0);
end;
← →
Intell © (2003-03-31 15:27) [7]Есть ограничение в примере BorisUK, некоторые компоненты на форме не будут работать, если подобное случится, то помести компонент на TPanel. Тогда всё будет полный OK.
← →
Shaman_Naydak © (2003-03-31 19:03) [8]type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Memo1: TMemo;
private
procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;
end;
procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest);
begin
inherited;
if Message.Result = HTCLIENT then
Message.Result:=HTCAPTION;
end;
Страницы: 1 вся ветка
Текущий архив: 2003.05.26;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.011 c