2012-03-12 13 views
6

मैं ActnPopup.TPopupActionBar घटक का उपयोग कर रहा हूं और मैं TFileOpen, TFileOpenWith जैसे कुछ मानक क्रियाएं जोड़ना चाहता हूं और इसी तरह। सवाल यह है कि मैं इन क्रियाओं को रनटाइम में एक TPopupActionBar में कैसे जोड़ सकता हूं?रनटाइम में ActnPopup.TPopupActionBar घटक में मानक कार्रवाई कैसे जोड़ें?

उत्तर

6

मैं कुछ इस तरह की कोशिश करेंगे:

procedure TForm1.Button1Click(Sender: TObject); 
var 
    MenuItem: TMenuItem; 
    Action: TCustomAction; 
begin 
    MenuItem := TMenuItem.Create(PopupActionBar1); 
    Action := TFileOpen.Create(PopupActionBar1); 
    Action.Caption := '&Open...'; 
    Action.ShortCut := 16463; 
    MenuItem.Action := Action; 
    PopupActionBar1.Items.Add(MenuItem); 

    MenuItem := TMenuItem.Create(PopupActionBar1); 
    Action := TFileOpenWith.Create(PopupActionBar1); 
    Action.Caption := 'Open with...'; 
    MenuItem.Action := Action; 
    PopupActionBar1.Items.Add(MenuItem); 
end; 

और जहां मैं कैप्शन और शॉर्टकट मूल्यों से मिली? अच्छा प्रश्न। ये क्रिया सूची के घटक संपादक से हैं। यदि आप अपनी क्रिया सूची में मानक क्रियाएं जोड़ते हैं और अपने फॉर्म के स्रोत कोड में देखते हैं तो आप उन्हें प्राप्त कर सकते हैं। वहाँ आप इस तरह अपनी कार्रवाई परिभाषाओं देखेंगे,: (? पॉपअप मेनू आइटम के लिए)

object FileOpen1: TFileOpen 
    Category = 'File' 
    Caption = '&Open...' 
    Hint = 'Open|Opens an existing file' 
    ImageIndex = 7 
    ShortCut = 16463 
end 

और पॉपअप मेनू के लिए जब से तुम एक सुझाव की जरूरत नहीं है, और न ही श्रेणी ImageIndex (कार्रवाई सूची के लिए है) (आप आपके स्वयं के छवि सेट को परिभाषित कर सकता है, इस प्रकार आपकी अनुक्रमणिका अलग हो सकती है), आप उन्हें छोड़ सकते हैं। वास्तव में आप यह सब छोड़ सकते हैं, कार्रवाई भी की जाएगी (कक्षा के आधार पर आप उपयोग करेंगे), लेकिन आपके पास कोई कैप्शन नहीं होगा और न ही शॉर्टकट होगा।

संबंधित मुद्दे