При вызове PopUp правой клавишей - получаем вот такой "чистый" прямоугольник в левом верхнем углу. Соответственно он исчезает только при следующей перерисовке кадра. (даже если перерисовывать с высокой частотой, все равно при вызове меню видно мелькание в левом углу). Такое ощущение, что при вызове меню - оно создается и отображается там, затирая под собой канву а потом перемещается к координатам мыши.
Если в меню PopUp'a содержится один item - прямоугольника нет. Начиная с добавления второго - он появляется и чем больше Item'ов тем он больше в высоту.
Собственно вопрос в том, как от этого эффекта избавиться?
Вопрос
Ильдар
График отрисовывается на канве ректангла по таймеру..
Создаем PopUp меню:
PopUp:= TPopUpMenu.Create(AOwner); PopUp.Parent:= TFMXObject(AOwner); ItemFormSet:= TMenuItem.Create(PopUp); ItemFormSet.Parent:= PopUp; ItemFormSet.Tag:= 1; ItemFormSet.text:= 'Item 1'; ItemFormSet.OnClick:= self.MenuClicks; ..... ItemLegend:= TMenuItem.Create(PopUp); ItemLegend.Parent:= PopUp; ItemLegend.Tag:= 3; ItemLegend.text:= 'Item 3'; ItemLegend.OnClick:= self.MenuClicks; Rectangle.PopupMenu:= self.PopUp;
При вызове PopUp правой клавишей - получаем вот такой "чистый" прямоугольник в левом верхнем углу. Соответственно он исчезает только при следующей перерисовке кадра. (даже если перерисовывать с высокой частотой, все равно при вызове меню видно мелькание в левом углу). Такое ощущение, что при вызове меню - оно создается и отображается там, затирая под собой канву а потом перемещается к координатам мыши.
Если в меню PopUp'a содержится один item - прямоугольника нет. Начиная с добавления второго - он появляется и чем больше Item'ов тем он больше в высоту.
Собственно вопрос в том, как от этого эффекта избавиться?
Ссылка на комментарий
6 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.