Я стараюсь выровнять форму MDIChild слева от родительской настройки MDIForm Align: = alLeft во время разработки. На родительском MDIForm панель инструментов выровнена в alTop. По-видимому, выровненный MDIChild выше клиентской области родителей (я не знаю почему), поэтому вертикальная полоса прокрутки появляется в родительской форме. Проблема в том, что я хочу, чтобы эта форма создавалась динамически; поместив вертикальный разделитель между этими формами MDIchild, чтобы их размер определял мышью. Но когда я создаю Splitter, он полностью выравнивается слева, как если бы форма MDIChild не была выровнена (alLeft) вообще.Как выровнять MDIChild слева?
Я установил параметры MDIChild в:
Align:=alLeft;
Windowstate:=wsNormal;
Borderstyle:=bsSizable;
ли решить эту проблему кто-нибудь раньше?
спасибо большое
P.S Delphi 7, Win XP
Я попытался также разместить дочернюю форму непосредственно внутри TPanel (alClient), который был вложен в родительскую форму. Эта хорошая идея сокрушила тот факт, что TEdit, TMemo ... компонент перестали работать (я не мог писать в них), если borderstyle дочерней формы не был bsNone. Я не уверен, если он не зависит от версии Delphi. Я не пытался использовать фреймы, так что, может быть, сейчас ... – lyborko
Я не пробовал, но я не слишком удивлен тем, что неправильный стиль границы вызывает проблемы. Если вам нужны перетаскиваемые окна с титрами, вам понадобится поддержка MDI, а это означает, что вам нужно создать новый класс сплиттера, который знает, как обрабатывать MDI-окна. Это, конечно, возможно, но существующий код выравнивания и сплиттера Delphi не поможет. –
Я потратил много времени, чтобы решить это, молоток и щипцы, никакого успеха. Должен признаться, что ты можешь быть прав. Я попробовал фреймы, как вы предлагали, но мне это не понравилось - у него нет титров, нет кнопки x для закрытия. И я хочу, чтобы он выглядел красиво. Итак, пользовательский новый сплиттер ... Я не очень доволен этим ... – lyborko