2012-05-09 92 views
1

调用的菜单我在表单上有2个备忘录,并且1个Tpopupmenu分配了弹出菜单作为两个备忘录的弹出菜单。弹出式菜单中有一些菜单项分配给它,当我用鼠标右键单击备忘录并单击其onclick事件中的一个菜单项时,我想能够知道哪一个备忘录是菜单被调用,但无法弄清楚如何找出它是哪个备忘录!1个弹出菜单和2个备忘录,其中备忘录是从

任何人都可以给我一个关于如何检测潜在备忘录的指针。

感谢

科林

回答

6

您可以使用弹出式菜单的PopupComponent属性:

procedure TForm1.PopupItemClick(Sender: TObject); 
begin 
    if PopupMenu1.PopupComponent = Memo1 then 
    .. 
    else 
    .. 
+1

或Type-投了'PopupComponent'值到'TMemo'指针,并把它作为需要。 –

+0

@RemyLebeau:是的,当用'is TMemo'检查时,我更喜欢通过if语句进行强制转换(+赋给本地var)。除非每个备忘录的处理方式不同,但在这种情况下,无论如何可能会有两个菜单项被警告。 –

+0

谢谢,我确实认为它是PopupComponent,但我使用的项目PopupComponent当然是givig我的弹出菜单。 – colin