![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с формой [D7, WinXP]
weRUs © (2003-01-19 03:34:00)Господа и товарищи МАСТАКИ!!!
Помогите в следующем вопросе!
Как сделать так, чтобы форму можно было таскать за ее бренное тело а не только за заголовок!
так например в тете Асе сделана функция "Floating",
Помогите пожалуйста!
С уважением weRUs!
Danlicha (2003-01-20 18:42:00) [1]Только один Guerrillero грамотно написал...
Programist21 (2003-01-19 23:49:00) [2]Компонент - например чё-нить из 1stClass ;)
weRUs (2003-01-19 23:29:00) [3]Большое Спасибо всем кто откликнулся!!!
Yurko (2003-01-19 12:51:00) [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;
Guerrillero (2003-01-19 09:51:00) [5]или так :
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;
Viktor Kushnir (2003-01-19 07:39:00) [6]Я делал так, таскал форму за панель:
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;
UE (2003-01-19 07:27:00) [7]Ловишь MouseDown, делаешь SetCapture и ставишь флаг. В MouseMove если стаоит флаг двигаешь форму. В MouseUp убираешь флаг. Примерно так...