2012-04-18 86 views
0

我已经在FireMonkey表单上获得了一个TMemo和一个关联的TPopupMenu。FireMonkey:如何取消默认的弹出式菜单

当我右键点击备忘录时,我得到了自己的弹出菜单,但弹出消失后,我仍然得到默认弹出窗口(说剪切,复制,粘贴,全选)。

如何禁用默认菜单,或者可以将我自己的项目添加到默认菜单中?

回答

5

我无法重现此行为。下面是我的尝试:

  • File->New->FireMonkey HD Application
  • 在表单上放一个TMemoTPopupMenu
  • 分配PopupMenuMemo1.PopupMenu在Object Inspector
  • PopupMenu创建两个菜单项,并为其指定两个相同的OnClick事件(在Object Inspector中生成)。我在两个项目的Caption中保留了默认标题MenuItem1MenuItem2
  • 写了一个简单的MessageDlg,它在OnClick处理程序中使用单个按钮显示TMenuItem(Sender).Caption
  • 运行应用程序,右击Memo1,并选择使用菜单项

我与我的两个项目(MenuItem1MenuItem2)显示一个菜单。选择任一项目会在消息对话框中显示相应的Caption,然后在该对话框中单击Ok。没有默认的弹出菜单显示。

编辑:找到它了。这是更新3中修复的一个错误 - 请参阅list of bug fixes in Update 3,并搜索98705,或滚动直到您到达FireMonkey\Components(它是该部分下的第二或第三个条目)部分。

+0

我只是做了你所做的,但无论我做什么,我仍然会得到默认弹出窗口。我正在使用XE2 update2。也许这是一个错误,它已在更新3或4中修复?你在使用这些吗? – 2012-04-19 00:03:39

+0

我有更新3(有4个问题的报告,所以我现在就搁置)。 – 2012-04-19 00:08:45

+0

无论如何,尝试你描述的步骤+1。我只想确认我并不疯狂。还没有确切的答案:)我应该咬住子弹并升级到3(有关4的问题的传言足以让我暂时离开)。 – 2012-04-19 00:15:55