よろしくお願いします。
Win7、Delphi6Personalです。
私の知識ではメニューは設計時にがっちり作成して使うしか知りませんが、
巷では項目が増減する要素をメニューで表示するソフトを見かけます。
たとえば、XPでは「最近開いたファイル」?とか
Internet Explorer のFavorites,
Google Chromeの「その他のブックマーク」など
刻々と項目が増減するのにあたかもメニューのように開いて選択する機能がありますが
どのような機能でプログラミングしているのでしょうか。
ネットでサンプルを探してみるのですが、キーワードが解らず
たどり着けません。
キーワード、サンプル、機能の名前、何でもかまいません
ヒントをいただけないでしょうか。
よろしくお願いします。
>キーワード、サンプル、機能の名前、何でもかまいません
>ヒントをいただけないでしょうか。
TMenuItemのヘルプ。
NewItem関数、NewLine関数とそのヘルプ。
追加の簡単なサンプルです。
procedure TForm1.Button1Click(Sender: TObject);
var
li_Index: Integer;
l_MenuItem: TMenuItem;
ls_Caption, ls_Name: String;
begin
if (OpenDialog1.Execute) then begin
li_Index := MenuItem1.Count;
ls_Caption := ExtractFileName(OpenDialog1.FileName);
ls_Name := Format('%s_%d', [MenuItem1.Name, li_Index]);
l_MenuItem := NewItem(
ls_Caption, //Caption
0, //ShortCut
False, //Checked
True, //Enabled
MenuItemClick, //OnClickイベント
0, //HelpContext
ls_Name //Name
);
//NewItem関数の引数にないプロパティやイベントは個々に設定
l_MenuItem.Hint := OpenDialog1.FileName;
MenuItem1.Add(l_MenuItem);
end;
end;
procedure TForm1.MenuItemClick(Sender: TObject);
var
l_MenuItem: TMenuItem;
begin
if (Sender is TMenuItem) then begin
l_MenuItem := TMenuItem(Sender);
ShowMessage(l_MenuItem.Name +#13 + l_MenuItem.Caption + #13 + l_MenuItem.Hint);
end;
end;
Dさん、早速ご指導ありがとうございます。
サンプルコードまで教えていただき痛み入ります。
これから挑戦してみます。
ありがとうございました。
ツイート | ![]() |