Форум: "Основная";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];
ВнизКак привязать доп. форму над основной и не дать её перемещать? Найти похожие ветки
← →
Filat (2003-04-30 20:52) [0]Есть основная форма. Хочу привязать вторую форму своего приложения над и в пределах границ своей основной формы, чтобы она была не перемещаема и пока её пользователь не закроет основная находилась бы под ней. Перечитал справочники не нашел как это сделать. Подскажите пожалуйста как сделать то что мне надо или где почитать. Спасибо!
← →
Yanis (2003-04-30 21:05) [1]Лови API сообщения.
← →
Filat (2003-04-30 21:10) [2]Какие?
← →
Yanis (2003-04-30 21:30) [3]WM_MOVE
WM_WINDOWPOSCHANGING
Еще есть какие то, непомню, посмотри в справочнике по WinAPI.
← →
mukha (2003-04-30 22:05) [4]У второй формы установи стиль bsNone чтобы небыло за что таскать и открой ее ShowModal.
← →
Filat (2003-05-01 17:55) [5]Хорошо, сегодня дома попробую, Спасибо!
← →
Diamond Cat (2003-05-02 02:19) [6]private
procedure hittest(var mes:Tmessage);message wm_nchittest;
.....
procedure tform1.hittest(var mes:Tmessage);
begin
inherited;
case mes.Result of
htcaption,httopright,htbottom,htbottomleft,htbottomright,httop,htleft,htright,httopleft,htsize:
mes.result:=HTNOWHERE ;
end; //of case
end;
при этом остаються функциональными кнопки меню
но нужно немного доработать
← →
Diamond Cat (2003-05-02 02:22) [7]да и конечно для начала ShowModal
← →
Filat (2003-05-02 16:07) [8]mukha © Попробовал твой совет, в принципе то что надо, но ...
как то после этого форма выглядит гадко :)))
Поэтому пошел немного другим путем.
Привязал форму к цетру основной формы, задал размеры ручками, убрал систем меню (кнопки справа), стиль помоему "сайзейбл".
Выглядит прилично, размер не меняется, сама перемещается.
Вот тут то и приехал. :)) Если форму вторую переместили (да, открываю её как и подсказали - ShowModal), закрыли. Открываем снова, ..., не по центру, а там где была последний раз, если закрыть и открыть приложение, то появляется где надо, пока не переместишь. Пробовал на OnActivate формы присваивать ей нужную позицию, началось моргание основной формы при открытии второй, но уже открывается где надо.
Может не то событие обрабатывал?
Diamond Cat © Сегодня попробую. :))
← →
mukha (2003-05-02 17:06) [9]Чтобы форма не выглядела гадко брось на неё панель и для панели укажи Align:=alClient; Чтобы вторая форма всегда появлялась по центру для неё установи Position:=poScreenCenter; Усли хочешь чтобы она появлялась там, где была закрыта - запоминай положение в реесте или в ini-файле, но при этом Position не должно быть poScreenCenter.
← →
Song (2003-05-02 17:25) [10]2Filat © (02.05.03 16:07)
poOwnerFormCenter
← →
Filat (2003-05-03 15:08) [11]Ок, попробую, скажу что получилось.
Спасибо!
← →
Filat (2003-05-07 20:41) [12]Song <- poOwnerFormCenter - не помогает, все равно, если переместили окно, закрыть его, и снова открыть открывается там, где его закрыли. Если закрыть и снова запустить приложение - как положено, ... пока снова не передвинут.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c