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

Вниз

Выравнивание компонентов   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
2-1151385233
bajenovv
2006-06-27 09:13
2006.07.16
помогите плиз новичку!!!!


4-1144160259
AlexAlex
2006-04-04 18:17
2006.07.16
Можно ли защитить командную строку процесса ?


15-1150446709
LingvoRu
2006-06-16 12:31
2006.07.16
Мощная фраза


6-1140887955
Sco
2006-02-25 20:19
2006.07.16
IP адресса


4-1144150645
Stanislav
2006-04-04 15:37
2006.07.16
Остановка параллельных процессов