• 0
krapotkin

Шторка TMultiView залезает на Toolbar

Вопросы

XE8 Upd1

форма с мульти-вью

наверху - TToolBar

в шторке - комбо-бокс

черное поле - панель, в которую загружаются фреймы в зависимости от выбора в комбо

применен стиль*

Dbzb2R0E.png

 

когда шторка выезжает, она почему-то захватывает пространство тул-бара, ну да бог с ним, не страшно

Dbzb2R0H.png

 

хуже то, что когда она вернулась, тулбар остался изгажен

Dbzb2R0G.png

 

я пробовал toolbar.Repaint, toolbar.RecalcSize, multiView.RecalcSize

не помогло

Как исправить?

 

*если убрать стили, поведение не меняется

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 ответов на этот вопрос

  • 0

TPanel  - черное поле на скриншоте

 

вышел из положения - тулбар забросил в эту панель

 

судя по тому, что у мультивью нет свойства Align - он на такие штуки совсем не рассчитан...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

судя по тому, что у мультивью нет свойства Align - он на такие штуки совсем не рассчитан...

Ну почему... вместо Align есть DrawerOptions.Placement и SplitViewOptions.Placement.

 

Крайне странно - у меня приложение 1:1 такого же построения, и никаких проблем с MultiView не было. Ну, за исключением, когда я забыл переназначить TargetControl и MasterButton.

А пример из Documents\Embarcadero\Studio\xxx\Samples\Object Pascal\Mobile Samples\User Interface\MultiView\ не пробовали запускать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Пардон... я сужу со своей колокольни, у меня XE7 Upd1. Не обратил внимание сразу на версию...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

По идеи если вы хотите, чтобы у вас тулбар распологался сверху относительно всего остального, то TMultiView и TargetControl должны лежат в отдельном контейнере. Например так:

post-1-0-23948400-1436453085_thumb.png

Потому что TMultiView в режиме Drawer распологается в ручную относительно своего родителя. На моем примере Drawer будет вытянут по высоте Layout1. Если же TMultiView лежит на форме, то он будет растягиваться по высоте формы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

ок, понял, спасибо!
вот бы в документашечку бы буквально одну строку добавить )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Похожий контент

    • От WinterSun
      Здравствуйте.
      Можно ли сделать так, чтобы ширину MultiView в режиме NavigationPane можно было менять в Design-Time?
      Спасибо.
    • От dmokrushin123
      Перемещаю в приложении для iOS вручную MultiView и явно видны поддергивания экрана.
      Думал в Токио измениться, нет субъективно еще хуже стало. 
      В приложениях написанных нативно, например kazpost, fortebank, alfabank, с этим проблем нет, все работает плавно.
      Да во второй половине экрана находиться Layout и в нем tabcontrol c другими элементами.
       
    • От Евгений Корепов
      Починили TMultiView.Enable в Tokyo, вот небольшой видео-пример:
      https://www.youtube.com/watch?v=T0gJwfiyRyY
    • От Steepe_Hare
      Когда устанавливаем Mode = NavigationPane.
      Тоже самое же можно сделать, кинув тулбар с кнопкой и под ним две панели. По нажатию кнопки LeftPanel.Visible := not LeftPanel.Visible;
      Или я чего-то сокровенного не понял?
    • От Alex924
      В качестве masterbutton использую кнопку, но есть такая проблема что подпись у SpeedButton вылезает за края TMultiView когда оно в свёрнутом состоянии, мне нужно чтобы в свёрнутом состоянии были видны только картинки у кнопок, а в развёрнутом был виден ещё и текст

    • От Равиль Зарипов (ZuBy)
      Доработал чуть CustomPresentation из демо
       
      1) убрал баг с утечкой памяти
      было так с включенным ReportMemoryLeaksOnShutdown := true;

       
      2) неточное отображение на форме, не по центру
      было

      стало

       
      3) при открытой MV закрыть программу, утечка памяти ReportMemoryLeaksOnShutdown := true;
       
      4) Добавил события OnShown, OnHidden
       
      MultiView.zip
    • От ivadimos
      Каким образом можно изменить цвет фона в TMultiView?
    • От krapotkin
      Новая особенность MultiView 
      MasterButton работает только в случае, если лежит в одном и том же контейнере, что и MultiView
       
      у меня была раскладка - Тулбар, Align = Top
      TLayout Align = Client
      в Layout помещен MultiView и TPanel - TargetControl
      кнопка на тулбаре установлена как MasterButton
      в XE8.1 она работала, в DX10 перестала
      всю голову сломал, пока догадался тулбар сунуть в панель
    • От Martifan
      Здравствуйте. У меня возникла проблема с TMultiView. После запуска программы на телефоне при первом открытии компонента, он подвисает и появляется медленно, но во все последующие вызовы этого компонента работает без задержки.   P.S. Когда использую анимацию появляется та-же самая проблема.   Заранее спасибо.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу