| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как изменить размеры MDIClient |
| Автор: dwik 1.2.2012, 00:21 |
| Столкнулся с такой проблемой. У меня классическое mdi-приложение. Но на главной форме присутсвуют ряд контролов без установленных полей Align. Мне требуется ограничить область вывода для дочерних окон, чтобы они не наезжали на эти самые контролы. Как известно, MDIChield открывается в пределах некой рабочей области главного окна, называемой MDIClient, и cоответственно при максимизации пытается занять всю эту область. Проблема в том, что если Align посторонних компонентов на главной форме стоит alNone, то дочерние окна спокойно открываются поверх них. По определенным причинам выставить другой Align я не могу Как можно динамически менять размеры рабочей области MDIClient ??? Кто решал эту проблему ? |
| Автор: БелАмор 1.2.2012, 07:43 |
| Положите панель, задайте ей выравнивание, а на ней разместите всё, что нужно. |
| Автор: dwik 1.2.2012, 09:56 |
| В этом и проблема - так сделать не могу. У меня 2 док-панели с align Bottom и left. В угол между ними нужно поместить третью панель, но если выставить есть Bottom, то она выйдет из отведенного ей места и уйдет вровень с нижней панелью (той, у которой align=bottom) |
| Автор: БелАмор 1.2.2012, 11:16 |
| А зачем вам класть все три панели непосредственно на форму? Допустим, у вас нижняя панель - во всю ширину, тогда на неё положите две панели: одну с выравниванием влево, вторую - по клиенту. У левой панели выставляете ширину по той панени, которая находится непосредственно на форме с выравниванием влево. |
| Автор: RomanEEP 3.2.2012, 07:38 | ||
|