Можем ли мы использовать Popupmenu в FMX? - PullRequest
1 голос
/ 12 июля 2020

Я разрабатываю мобильное приложение в FMX, где мне нужно Popupmenu, но оно показывает отключение на палитре инструментов, я не могу его использовать, но в VCL он включен в палитре инструментов и может его использовать. Я просто хочу знать, поддерживает ли Firemonkey Popupmenu, или у меня возникли проблемы с установкой, или мы должны использовать другие инструменты вместо Popupmenu в FMX? или что еще я могу сделать?

и на самом деле я открыл один проект VCL и скопировал всплывающее меню оттуда в FMX и написал код на одной кнопке, и этот код

procedure TFRM_Party.BTN_Party_OptionClick(Sender: TObject);
begin
  PopupMenu1.Popup(10,10);
  PopupMenu1.Parent := Self;
end;

этот код не показывая любую ошибку, а также не работает. что делать? у кого-нибудь есть идея?

введите описание изображения здесь

1 Ответ

2 голосов
/ 12 июля 2020

Краткий ответ на ваш вопрос: «Да», вы должны иметь возможность использовать FMX-версию TPopupMenu в проекте, созданном из File | New |Multi-Device Application в среде IDE. Если вы не можете найти FMX TPopupMenu на палитре компонентов, что-то не так с вашей установкой Delphi. Я не совсем понимаю, что вы имеете в виду, когда говорите, что он «отключен» - компоненты обычно либо находятся на палитре компонентов, либо нет, я не припомню, чтобы один из них выглядел отключенным.

скажите в своем вопросе, какую версию Delphi вы используете, но если у нее вообще есть FireMonkey, AFAIK определенно должна иметь FMX-версию TPopupMenu.

In Delphi 10.2 Seattle, для Например, FMX TPopupMenu появляется на вкладке «Стандарт» палитры компонентов и содержится в исходном модуле FMX.Menus вместе с TMenuBar и TMainMenu, среди прочих.

Если вы От go до Component | Install packages в среде IDE во всплывающем окне в списке должно отображаться Embarcadero FMX Standard Components, то есть файл dclfmxstd250.bpl в папке bin вашей Delphi установки. Если этого пакета нет в списке, это объясняет, почему вы не можете найти FMX TPopupMenu, но если это так, в вашем Delphi должно быть намного больше компонентов FM C, кроме TPopupMenu. . Однако ее легко решить, установив файл .bpl (или аналогичный в вашей версии Delphi). Если пакет - это , нажатие кнопки Components в правом нижнем углу всплывающего окна должно вызвать весь список стандартных компонентов FXM (который в моем случае включает TPopupMenu).

Если ваш Delphi включает Embarcadero FMX Standard Components, но по-прежнему отсутствует TPopupMenu, вы можете попробовать создать новый пакет, добавив к нему FMX.Menus.pas и скомпилировать и установить его в среде IDE.

BTW, хотя возможно создать комбинированный проект FMX + VCL (Google для того, как), просто потому, что вы могли бы поставить VCL TPopupMenu в форме FMX не означает, что он будет работать.

...