2012-05-09 142 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