Сообщение Что могло измениться в VCL c SetParent ? от 09.11.2016 9:18
Изменено 09.11.2016 9:23 swame
В Delphi используем динамискую компоновку форм с использованием SetParent
В версии скопмилированной в XE2 форма выглядит так (так должно быть):
При компиляции в berlin вставленная форма не вставилась в панель и выглядит так:
Выпавшая на рисунке форма вставляется в панель на другой форме с помощью кода
Такой подход работал всегда со старыми вериями Delphi, в berlin не работает с НЕКОТОРЫМИ фоомами.
Есть идеи что изменилось в berlin?
Пробовал менять во вставляемой форме
В некоторых случаях помогало, тут нет.
В версии скопмилированной в XE2 форма выглядит так (так должно быть):
Версия XE2 | |
При компиляции в berlin вставленная форма не вставилась в панель и выглядит так:
Версия Berlin | |
Выпавшая на рисунке форма вставляется в панель на другой форме с помощью кода
class procedure TIFace.InsertPanel (Form: TForm; Panel: TWinControl);
begin
Assert(Form<>nil);
Assert(Panel<>nil);
if (Form<>nil) then begin
Form.align := alClient;
Form.parent := Panel;
Form.BorderStyle := bsNone;
Form.Visible := true;
end;
end;
Такой подход работал всегда со старыми вериями Delphi, в berlin не работает с НЕКОТОРЫМИ фоомами.
Есть идеи что изменилось в berlin?
Пробовал менять во вставляемой форме
FSizeDlg.Position := poDesigned
В некоторых случаях помогало, тут нет.
Что могло измениться в VCL c SetParent ?
В Delphi используем динамискую компоновку форм с использованием SetParent
В версии скопмилированной в XE2 форма выглядит так (так должно быть):
При компиляции в berlin вставленная форма не вставилась в панель и выглядит так:
Выпавшая на рисунке форма вставляется в панель на другой форме с помощью кода
Такой подход работал всегда со старыми вериями Delphi, в berlin не работает с НЕКОТОРЫМИ формами.
Есть идеи что изменилось в berlin?
Пробовал менять во вставляемой форме
В некоторых случаях помогало, тут нет.
В версии скопмилированной в XE2 форма выглядит так (так должно быть):
Версия XE2 | |
При компиляции в berlin вставленная форма не вставилась в панель и выглядит так:
Версия Berlin | |
Выпавшая на рисунке форма вставляется в панель на другой форме с помощью кода
class procedure TIFace.InsertPanel (Form: TForm; Panel: TWinControl);
begin
Assert(Form<>nil);
Assert(Panel<>nil);
if (Form<>nil) then begin
Form.align := alClient;
Form.parent := Panel;
Form.BorderStyle := bsNone;
Form.Visible := true;
end;
end;
Такой подход работал всегда со старыми вериями Delphi, в berlin не работает с НЕКОТОРЫМИ формами.
Есть идеи что изменилось в berlin?
Пробовал менять во вставляемой форме
FSizeDlg.Position := poDesigned
В некоторых случаях помогало, тут нет.