FAQ FM
Компоненты\MultiView

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика

Как определить состояние MultiView (открыто/закрыто)?

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   if TPresentationState.Opened in MultiView1.Presenter.State then
      Label1.Text := 'MultiView opened'
   else
      Label1.Text := 'MultiView closed';
end;


Как избежать задержки при первом появлении TMultiView?

// Задержка при появлении TMutliView заключается в том, что стиль
// загружается не сразу у любого контрола, а только по мере появления
// контрола. Обычно это происходит при первой отрисовке. Это правило
// касается всех контролов. Загрузку стилей можно форсировать с помощью
// процедуры PreloadContent, вызывать которую можно при запуске программы.
procedure PreloadContent( const Control: TControl );
var
  i: Integer;
begin
   if Control is TStyledControl then
      TStyledControl( Control ).ApplyStyleLookup;
   for i := 0 to Control.ControlsCount-1 do
      PreloadContent( Control.Controls[I] );
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   PreloadContent( MultiView1 );
end;

При использовании материала - ссылка на сайт обязательна