2012-03-12 16 views

cevap

6

böyle bir şey denemek istiyorum:

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; 

Ve Altyazı ve Shortcut değerlerini nereden aldın? İyi soru. Bunlar işlem listesinin bileşen düzenleyicisinden. Standart eylemleri işlem listenize eklediyseniz ve formunuzun kaynak koduna bakarsanız bunları alabilirsiniz. Orada bu bir gibi, eylem tanımlarını göreceksiniz: (? Açılır menü öğesi için)

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

Ve açılan menü için çünkü bir İpucu gerekmez, Kategori sen (ne de ImageIndex (eylem listesinin içindir) kendi görüntü grubunuzu tanımlayabilir, böylece indeksleriniz farklı olabilir), onları bırakabilirsiniz. Aslında, tüm bunları bırakabilirsiniz, eylem (hatta kullanacağınız sınıfa dayanarak) gerçekleştirilecektir, ancak hiçbir başlık veya kısayolunuz olmaz.

İlgili konular