Перейти к содержанию
Fire Monkey от А до Я
  • 0

Выполнение операции после скрытия меню


Ivan B.

Вопрос

Опубликовано (изменено)

Всем привет.
Приложение для Android.
Казалось бы, простая задача...

На MultiView лежит ListBox с пунктами меню.
При нажатии на пункт меню вызывается процедура (CreatePreview) (на форме в TTabControl создается вкладка, в этой вкладке создается VertScrollBox, в нем создается плитка из n-го количества TPanel'ей с картинкой и текстом).

Так вот, вызываю у MultiView метод HideMaster, затем уже эту процедуру. 
Однако, пока всё не прорисуется, меню не скрывается. А мне еще нужно индикатор выполнения процесса прикрутить.

Вопрос: как сначала скрыть меню, а уже потом выполнить процедуру или сделать это одновременно? 

Изменено пользователем Ivan B.

Рекомендуемые сообщения

  • 0
Опубликовано

-Прячете листбокс
-Перерисовываете форму (точно процедуру не помню, попробуйте TForm.Refresh, TForm.RePaint, TForm.Update)
-Выполняете долгое действие

  • 1
Опубликовано

есть более интересный и по-мне, более правильный способ

по нажатию в меню не сразу выполняете что-то, а ЗАПИСЫВАЕТЕ действие, которое ВЫПОЛНИТСЯ по событию закрытия мультивью

тогда реакция наступает визуально правильная и дальше крутите колеса, запускайте потоки и все такое

  • 0
Опубликовано

Процедура Invalidate не перерисовывает форму немедленно, она лишь добавляет сообщение на перерисовку в очередь сообщений.
Соотв. форма перерисуется когда не будет других событий в очереди, в данном случае - после всех длительных операций или после вызова .ProcessMessages

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

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