Форум: "Начинающим";
Текущий архив: 2006.07.16;
Скачать: [xml.tar.bz2];
ВнизВыравнивание компонентов Найти похожие ветки
← →
Loginov Dmitry © (2006-06-30 19:16) [0]Разрабатываю MDI-приложение. Не получается сделать на вид простую вещь:
есть две панели - у первой Align = alLeft, у второй Align = alBottom. Получается, что вторая панель занимает всю нижнюю часть экрана, а первая панель лежит сверху на второй. Как сделать, чтобы первая панель занимала всю левую часть экрана, а вторая примыкала к ней справа (в оставшейся области формы должны располагаться дочерние MDI-окна)?
← →
Palladin © (2006-06-30 19:21) [1]которая alLeft не трогать, положить доп панель и сделать alClient, и уже на доп панел ложить ту которая alBottom
если хочется страшного и не хочется кидать доп понель, то почитай справку по alCustom
← →
Loginov Dmitry © (2006-06-30 19:28) [2]> которая alLeft не трогать, положить доп панель и сделать
> alClient, и уже на доп панел ложить ту которая alBottom
Здесь сей фокус не прокатит...
← →
Palladin © (2006-06-30 19:28) [3]упс, это же MDI... просшу просчения... либо alCustom для панелей либо надо подумать...
← →
Palladin © (2006-06-30 19:29) [4]
> Здесь сей фокус не прокатит...
да в порыве энтуазизьма не заметил про MDI...
← →
Loginov Dmitry © (2006-06-30 20:24) [5]Я уже начинаю побаиваться, что данная проблемма нерешаема...
alCustom - дает эффект такой же, как и с обычными якорями (использовал override-функцию CustomAlignPosition).
Есть ли у кого еще какие идеи?
← →
Palladin © (2006-06-30 20:36) [6]
> alCustom - дает эффект такой же, как и с обычными якорями
> (использовал override-функцию CustomAlignPosition).
да нет (меня эта проблема заинтересовала), с alCustom все гораздо хуже...
1. Справка по CustomAlignPosition не соответствует истине
2. Метод CustomAlignPosition в контролс, как оказалось, нигде не вызывался, по крайней мере в VCL source я никаких вызовов не обнаружил...
3. Выход только один, наследник от TForm (или поглубже) и рассказ создаваемой форме что она не в Application.MainForm, а в доп панели...
← →
Vlad © (2006-06-30 21:19) [7]хм... интересная задача.
Вобщем-то решил через задницу, путем внедрения одной формы в другую.
Т.е. в проекте еще добавил не MDI форму с панелью alLeft, а потом в эту форму встроил MDI форму (главную) с панелью alBottom
Всех тонкостей не проверял, но вроде работает
← →
Loginov Dmitry © (2006-06-30 21:26) [8]> 1. Справка по CustomAlignPosition не соответствует истине
> 2. Метод CustomAlignPosition в контролс, как оказалось,
> нигде не вызывался, по крайней мере в VCL source я никаких
> вызовов не обнаружил...
В Инете нашел про это, проверил, поэтому и написал [4]
> Vlad © (30.06.06 21:19) [7]
Прикольно :)
← →
guav © (2006-06-30 21:38) [9]Есть такая идея: Поставить у MDI формы autoscroll в False. Ккинуть на MDI форму две панели alLeft alBottom как они хотят лежать. Кинуть ещё две панели выше первых двух по z-orderу. В OnResize первых двух устанавливать уже желаемое положение последних двух.
← →
Loginov Dmitry © (2006-06-30 22:07) [10]> guav © (30.06.06 21:38) [9]
Отличная мысль! Сенкс!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c