Вниз
Скачать: CL | DM;

Работа с формой   Найти похожие ветки 

 
weRUs ©   (2003-01-19 03:34) [0]

Господа и товарищи МАСТАКИ!!!
Помогите в следующем вопросе!
Как сделать так, чтобы форму можно было таскать за ее бренное тело а не только за заголовок!
так например в тете Асе сделана функция "Floating",
Помогите пожалуйста!
С уважением weRUs!


 
UE   (2003-01-19 07:27) [1]

Ловишь MouseDown, делаешь SetCapture и ставишь флаг. В MouseMove если стаоит флаг двигаешь форму. В MouseUp убираешь флаг. Примерно так...


 
Viktor Kushnir ©   (2003-01-19 07:39) [2]

Я делал так, таскал форму за панель:

procedure TPopupMenuForm.Panel2MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
ReleaseCapture;
PopupMenuForm.perform(WM_SysCommand, SC_DragMove, 0);
end;


 
Guerrillero ©   (2003-01-19 09:51) [3]

или так :
type
TForm1 = class(TForm)
Button1: TButton;
private
procedure WMNCHitTest(var Msg: TWMNCHitTest); message WM_NCHITTEST;

procedure TForm1.WMNCHitTest(var Msg: TWMNCHitTest);
begin
inherited;
if Msg.Result = HTCLIENT then Msg.Result := HTCAPTION;
end;


 
Yurko ©   (2003-01-19 12:51) [4]


...
private
procedure WMLButtonDown(var Msg: TMessage); message WM_LBUTTONDOWN;
...
procedure TForm1.WMLButtonDown(var Msg: TMessage);
begin
SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, Msg.LParam);
end;


 
weRUs ©   (2003-01-19 23:29) [5]

Большое Спасибо всем кто откликнулся!!!


 
Programist21   (2003-01-19 23:49) [6]

Компонент - например чё-нить из 1stClass ;)


 
Danlicha ©   (2003-01-20 18:42) [7]

Только один Guerrillero грамотно написал...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
1-96654
nikulin
2003-01-21 10:09
2003.01.30
Destroy


14-96953
cc43294
2003-01-12 14:27
2003.01.30
Почта


1-96698
Maxk
2003-01-21 18:39
2003.01.30
Закрыть окно


9-96507
Сирожа
2002-08-07 00:08
2003.01.30
DirectX


3-96607
chum
2003-01-13 08:58
2003.01.30
Функция BDE: DbiDoRestructure




   Наверх