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