![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как убрать кнопку закрытия пристыкованной формы?
Данил © (2002-12-04 12:14:00)Или как пристыковать форму так, чтобы не было возможности отсыковаться, переместить и закрыть ее?
Спасибо.
Рыжик (2002-12-05 07:34:00) [1]А OnUnDock не происходит даже если форма уничтожается при закрытии.
Рыжик (2002-12-05 07:11:00) [2]Panel.OnUnDock - просто отстыковка
Чтобы отловить закрытие оно не подходит, так как форма может остаться пристыкованной, но только невидимой. Можно проверять
HostDockSite=Panel в Form.OnClose - это и будет требуемое событие.
Ещё можно переопределить DoRemoveDockClient для панели, но опять же оно будет срабатывать при закрытии только если форма уничтожается, а не делается невидимой (т.е. для OnClose Action:=caFree)
Данил (2002-12-04 15:57:00) [3]To Рыжик:
А не подскажешь ли мне, о прекраснейшая из приекрасных, как сделать так, чтобы когда закрываешь пристыкованную форму нажатием на ее кнопочку с крестиком :), можно было изменить размер панельки , ее содержащей, и сделать еще кое-какие действия? Короче надо как-то отследить это событие.
Данил (2002-12-04 15:42:00) [4]Во! О чем я и говорил! То что доктор прописал... :))
Большое русское мерси!
Рыжик (2002-12-04 13:55:00) [5]Для панельки, на которую пристыковываем форму OnDockDrop:
procedure TForm1.Panel1DockDrop(Sender: TObject; Source: TDragDockObject;
X, Y: Integer);
begin
Source.Control.Align:=alClient;
end;
После этого форму можно отстыковать только програмно.
Данил (2002-12-04 12:45:00) [6]Эта можна, просто я думал, что такое дело должно быть предусмотрено.
Спасибо тебе, добр человек!
Skier (2002-12-04 12:37:00) [7]>Данил
А флажок у формы не можешь добавить ?
TFormDockType = (...) перечислимый тип (например)
TYourForm = class(...)
public
property FormDockType : TFormDockType...
end; //TYourForm
Данил (2002-12-04 12:34:00) [8]Спасбо, конечно, но это мне не очень подходит :(
У меня эта форма используется в нескольких местах, в одном мне нужно чтобы она нормально работала (как при.. так и отстыковывалась и т.д.), в другом нужно просто статически встроить ее в панель и использовать только для отображения результатов.
Skier (2002-12-04 12:27:00) [9]>Данил
1) ...чтобы не было возможности переместить...
procedure TYourForm.WMSysCommand(var Message : TWMSysCommand);
begin
//игнорируем перемещение формы.
if (Message.CmdType and $FFF0) = SC_MOVE then begin
Message.Result := 0;
Exit;
end; //if
inherited;
end;
2) ...чтобы не было возможности закрыть ...
TForm.OnCloseQuery(...)
Данил (2002-12-04 12:20:00) [10]Есть панелька, на нее пристыковываю (Dock) фомочку. Хочу, чтобы пользователь не мог с формочкой ничего делать из вышеперечисленного.
Skier (2002-12-04 12:16:00) [11]>Данил
> пристыкованной формы
Что бы это значило ?
Немного подробней, плиз...