Получить активную форму в Android-приложении FireMonkey

Я застрял. Как получить активную форму в Android-приложении FireMonkey? У меня есть только TComponent в этой форме, но похоже, что она не содержит ссылки на корневой элемент.

Я динамически создаю элемент управления (TToolBar) и хочу добавить его в верхнюю часть активной формы, когда на нее помещается компонент. Проблема в:

  ToolBar := TToolBar.Create(Application);
  ToolBar.Align := TAlignLayout.alTop;
  ToolBar.Parent := ?;  // I don't know what parent to specify for this control

Может быть, мне следует создать новую форму и поместить в нее элемент управления?


person naXa    schedule 08.02.2014    source источник


Ответы (1)


  1. The right solution:

    ToolBar.Parent := Application.MainForm;
    (docs)

  2. This will work, but you will be unable to add childrens to the ToolBar:

    if Application.HasParent then
    ToolBar.Parent := Application.GetParentComponent as TFmxObject;
    (docs)

  3. Эта внутренняя функция также должна помочь, если вы знаете FormFamily :

    function Application.GetDeviceForm(const FormFamily: string): TCommonCustomForm; overload;

person naXa    schedule 08.02.2014