<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      怎么在Delphi中制作“動態選單”

      [摘要]所謂動態選單是指選單項隨著程序的操作變化而變化。現在,我們用Delphi來實現這一功能,具體步驟如下:   1.首先,確定動態選單的數據來源,即要確定動態選單標題是來自Windows的系統注冊表,還...
      所謂動態選單是指選單項隨著程序的操作變化而變化,F在,我們用Delphi來實現這一功能,具體步驟如下:

        1.首先,確定動態選單的數據來源,即要確定動態選單標題是來自Windows的系統注冊表,還是來自一個數據庫,或者是來自一個子目錄,主要由程序的功能而定。這里假設主窗口名為MainForm,上面已有主選單,其動態選單的數據源是一個String類型的變量,名稱為SubMenuItemSource。

        2.確定生成的動態選單的功能,即定義動態選單的OnClick()事件,例如,動態選單標題來自一個磁盤文件名時,那么程序在響應OnClick()事件時,可能的操作是要打開選中的文件。因此,對選單所在的主窗口模塊的單元程序的數據,我們需要定義Type后添加一個自定義的事件MyClick()。

        然后,需要編寫如下MyClick()事件的具體內容:

        procedure TMainForm.MyClick(Sender: TObject);//動態選單OnClick事件響應

        begin

        Show.Message(TMenuItem(Sender).Caption);//顯示選中的動態選單標題

        end;

        這里調用的ShowMessage標準例程(在Dialogs.pas中)顯示TMenuItem(Sender).Caption,它就是選擇的選單項的Caption,類似用TMenuItem(Sender).Name選擇選單項的Name。

        3.編寫程序將動態選單標題添加到指定的選單項下,并將其與OnClick()事件聯系起來。將以下程序段添加到MainForm的OnCreate事件過程中,可在程序啟動時完成動態選單的動態生成:

        procedure TMainForm.FormCreate(Sender: TObject);

        var

        addSubItem:TMenuItem;

        i:Integer;

        begin

        for i:=0 to N do //N等于要添加的動態選單數目,需事先定義為數值型變量,并賦值

        begin

        addSubItem:= TMenuItem.Create(Self);

        addSubItem.Name := ′A′+IntToStr(i);

        addSubItem.Caption := SubMenuItemSource; // 步驟1的SubMenuItemSource應先賦值

        FileOpenItem.Add(addSubItem); //在名稱為FileOpenItem的選單項下添加子選單

        addSubItem.OnClick:=MyClick; // 步驟2的MyClick(),自定義選單要響應的事件

        end

        end;


      日韩精品一区二区三区高清