一个窗体的所有菜单,如何用一个过程实现:当其一个子菜单显示时,菜单显示;其所有子菜单都不显示时,菜单不显示。
解决方案 »
- fastreport使用方法和一个小问题
- 将dbgrideh1(ehlib控件 )导出excel报错: could not convert variant of type(null) into type(string)
- 请问在DELPHI中如何操作DBF格式的文件.
- 急求combobox解决方法
- 如何实现?当点击DBGIRD的一行数据时,这行数据的所有各项都被选中(变为深颜色),而不是只有一项数据被选中??
- TStringGrid的问题,高手请进。
- 怎样insert 表1的当前记录到表2里?
- 急用...如何进行最快速的字符串查找和替换,我只有笨方法...还请高手指点.
- 个人网站问题!
- 终于装上KYLIX了,来这里庆祝一下
- 一个简单的问题。不过我不会。怎样用WINEXEC函数。怎样调用期它应用程序比如WORD?
- 请教CORBA高手,急!
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;
for i := 0 to MainMenu1.Items.Count -1 do
begin
if 0 =MainMenu1.Items[i].Tag then
MainMenu1.Items[i].Visible := False
else
MainMenu1.Items[i].Visible := True;