Форум: "Основная";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
ВнизКак убрать кнопку закрытия пристыкованной формы? Найти похожие ветки
← →
Данил (2002-12-04 12:14) [0]Или как пристыковать форму так, чтобы не было возможности отсыковаться, переместить и закрыть ее?
Спасибо.
← →
Skier (2002-12-04 12:16) [1]>Данил
> пристыкованной формы
Что бы это значило ?
Немного подробней, плиз...
← →
Данил (2002-12-04 12:20) [2]Есть панелька, на нее пристыковываю (Dock) фомочку. Хочу, чтобы пользователь не мог с формочкой ничего делать из вышеперечисленного.
← →
Skier (2002-12-04 12:27) [3]>Данил
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:34) [4]Спасбо, конечно, но это мне не очень подходит :(
У меня эта форма используется в нескольких местах, в одном мне нужно чтобы она нормально работала (как при.. так и отстыковывалась и т.д.), в другом нужно просто статически встроить ее в панель и использовать только для отображения результатов.
← →
Skier (2002-12-04 12:37) [5]>Данил
А флажок у формы не можешь добавить ?
TFormDockType = (...) перечислимый тип (например)
TYourForm = class(...)
public
property FormDockType : TFormDockType...
end; //TYourForm
← →
Данил (2002-12-04 12:45) [6]Эта можна, просто я думал, что такое дело должно быть предусмотрено.
Спасибо тебе, добр человек!
← →
Рыжик (2002-12-04 13:55) [7]Для панельки, на которую пристыковываем форму OnDockDrop:
procedure TForm1.Panel1DockDrop(Sender: TObject; Source: TDragDockObject;
X, Y: Integer);
begin
Source.Control.Align:=alClient;
end;
После этого форму можно отстыковать только програмно.
← →
Данил (2002-12-04 15:42) [8]Во! О чем я и говорил! То что доктор прописал... :))
Большое русское мерси!
← →
Данил (2002-12-04 15:57) [9]To Рыжик:
А не подскажешь ли мне, о прекраснейшая из приекрасных, как сделать так, чтобы когда закрываешь пристыкованную форму нажатием на ее кнопочку с крестиком :), можно было изменить размер панельки , ее содержащей, и сделать еще кое-какие действия? Короче надо как-то отследить это событие.
← →
Рыжик (2002-12-05 07:11) [10]Panel.OnUnDock - просто отстыковка
Чтобы отловить закрытие оно не подходит, так как форма может остаться пристыкованной, но только невидимой. Можно проверять
HostDockSite=Panel в Form.OnClose - это и будет требуемое событие.
Ещё можно переопределить DoRemoveDockClient для панели, но опять же оно будет срабатывать при закрытии только если форма уничтожается, а не делается невидимой (т.е. для OnClose Action:=caFree)
← →
Рыжик (2002-12-05 07:34) [11]А OnUnDock не происходит даже если форма уничтожается при закрытии.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c