デルファイ動的に作成メニューのMainMenuとのPopupMenuメソッド

手順TForm1.Button1Click(送信者:TObjectを);
 VAR 
のMainMenu:TMainMenuコンポーネントによって公開さ; 
のMenuItem:TMenuItem; 
始める
//は、メインメニューオブジェクトを作成し、メインウィンドウのメニューを設定するには、メインメニューオブジェクト 
のMainMenuを:= TMainMenuコンポーネントによって公開された。作成します(セルフ); 
Self.Menu: = メインメニュー; 

// メインメニューオブジェクトのメインメニュー最初のレベルのメニューを作成MainMenu.Items.Add 
のMenuItem:= TMenuItem。作成(メインメニュー); 
MenuItem.Caption: = ' メニュー' ; 
MainMenu.Items.Add(のMenuItem)。

// メインメニューメインメニュー第二サブメニュー被写体を作成[0] .Add MainMenu.Items 
= TMenuItem:MenuItemの作成(メインメニュー); 
MenuItem.Caption: =' 二次メニューを' ; 
MainMenu.Items [ 0 ] .Add(のMenuItem); 

// メインメニュー第3のレベルのサブメニューがMainMenu.Itemsオブジェクトメインメニューを作成する[0] .Items [0] .Add 
のMenuItem:= TMenuItem。の作成(メインメニュー)が、
MenuItem.Caption: = ' 第3レベル' ; 
MainMenu.Items [ 0 ] .Items [ 0 ] .Add(のMenuItem);
 // アイテムと[0] ...この形態では、4つを作成することができ、最大5 Nレベル・メニューにすることができる 
のMenuItem:= TMenuItem。作成(メインメニュー)を; 
MenuItem.Caption: = ' 4つのメニュー' ; 
MainMenu.Items [ 0 ] .Items [ 0 ] .Items [ 0] .Add(のMenuItem); 

エンド; 

// ポップアップイベント
プロシージャ   TForm1.Button1Click(送信者:TObjectを);   
   VARの   
      PM:TPopupMenu;    
      MI:TMenuItem;    
  始める   
      PM:。= TPopupMenu 作成します(セルフ);    
      MI: = TMenuItem。作成します。(セルフ);    
      mi.Caption: =    ' 新しい(&N)' ;    
      pm.Items.Add(miザ);    
      miザ: = TMenuItem。作成します(セルフ);    
      mi.Caption: =    ' オープン(O&)' ;   
      pm.Items.Add(MI)。   
      MI: = TMenuItem。作成(自己);   
      mi.Caption: =    ' - ' ;   
      pm.Items.Add(MI)。   
      MI: = TMenuItem。作成(自己);   
      mi.Caption: =    ' 退出(&X)' ;   
      pm.Items.Add(MI)。   
      mi.OnClick: =    miClick。   
      Button1.PopupMenu: =    午後;   
  エンド;   
  //    在类里定义    
  手順   TForm1.miClick(送信者:TObjectを);   
  始める   
      閉じる、    
  終了

システムメニューでリハビリオプションを追加します。
追加(falseにGetSystemMenu(ハンドル)、MF_SEPARATOR、0'' ); 
追加falseに(GetSystemMenu(ハンドル)、MF_STRING、200は' A&(について)' ); 

WM_SYSCOMMANDメッセージハンドラ
手順 SystemMenuCommand(VARメッセージ:TWMMENUSELECT); メッセージWM_SYSCOMMAND、
 手順 TForm1.SystemMenuCommand(VAR メッセージ:TWMMENUSELECT);
 始める
IF Msg.IDItem = 200であり 、その後
フォーム2:。TForm2 = 作成(応用)。
Form2.Show; 
Form2.Update; 
エンド;
継承されましたエンド ;

 

おすすめ

転載: www.cnblogs.com/jijm123/p/12359727.html