All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
Delphi带历史信息的菜单实例

Writer: aaa Article type: Programming skills(编程技巧) Time: 2014/7/19 0:11:03 Browse times: 345 Comment times: 0

Delphi带历史信息的菜单实例


Head photo

Go homepage
Upload pictures
Write articles

Delphi带历史信息的菜单实例

实例锐明
在有些软件中,菜单栏中可以记录已经打开过的文件信息,使用户操作简单、快捷。当用户要打开己打开过的文件时,不需要重复查找,只需选择菜单中打开过的文件,即可实现打开该文件的操作。运行本例,效果如果所示。

效果如图所示
技术要点
本例使用的是动态插入菜单的技术,利用菜单的动态插入技术,可以完成在菜单中记录打开过文档的功能,即当打开一个文件后,将这个文件的完整路径插入到菜单的相应位置。主要用到了TMainMenu组件的Insert()方法。在菜单的OnChange事件中。为菜单项指定相应的事件。动态插入菜单项的代码如下:
procedure TForm1.N2Click(Sender: TObject);
var
QQ:Tmenuitem;
begin
QQ:=Tmenuitem.Create(nil);
if OpenDialog1.Execute then
begin
QQ.Caption:=OpenDialog1.FileName;
MainMenu1.Items.Items[0].Insert(3,QQ);
end;
end;
注意:动态插入菜单项,首要创建TMenuItem菜单对象。
实现过程
1.新建一个工程,该工程会自动创建一个主窗体,默认命名为Form1.
2.在窗体上添加TMainMenu组件和TOpenDialog组件。
3.程序代码如下:
procedure TForm1.N2Click(Sender: TObject);
var
QQ:Tmenuitem;
begin
QQ:=Tmenuitem.Create(nil);
if OpenDialog1.Execute then
begin
QQ.Caption:=OpenDialog1.FileName;
MainMenu1.Items.Items[0].Insert(3,QQ);
end;
end;
procedure TForm1.N4Click(Sender: TObject);
var
i:integer;
begin
for i:=3 to mainmenu1.Items.Items[0].Count-3 do
begin
mainmenu1.Items.Items[0].Items[i].OnClick:=mainmenu1.Items.Items[0].Items[2].OnClick;
end;
self.Close;
end;
procedure TForm1.MainMenu1Change(Sender: TObject; Source: TMenuItem;
Rebuild: Boolean);
var
i:integer;
begin
for i:=2 to mainmenu1.Items.Items[0].Count-3 do
begin
mainmenu1.Items.Items[0].Items[i].OnClick:=button1.OnClick;
end;
end;
procedure TForm1.exe;
begin
showmessage('选中 ');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
exe;
end;
end.





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.