Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: CL | DM;

Вниз

Как убрать кнопку закрытия пристыкованной формы?   Найти похожие ветки 

 
Данил   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
3-51633
Oxy
2002-11-28 10:14
2002.12.16
Почему такие прблемы?


3-51652
nick-from
2002-11-28 23:31
2002.12.16
Коды ошибок Interbase


1-51749
Sergey123
2002-12-04 14:09
2002.12.16
MDI приложение


1-51745
LongIsland
2002-12-04 16:31
2002.12.16
StatusBar, однако...


14-51937
Shved
2002-11-25 00:31
2002.12.16
Как перенести базу данных на другой компьютер?