popmenu 中groupindex属性怎样使用 ?(30分)

  • 主题发起人 主题发起人 moutocean
  • 开始时间 开始时间
M

moutocean

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样用index属性使菜单想之间取得联系?
 
我记得这个属性的作用是将一些菜单项联系在一起,形成一个组,在菜单项单选时有用。
当它不为0而且RadioItem为True时,菜单项产生单选的效果。Checked属性唯一有效。
 
moutocean:你到底要实现什么样的功能?
 
例如我有一个联级菜单,其中有一级如这个样子:
书本一
书本二
书本三 >>>下一级如>>>>>第一章
第二章
第三章
那莫如何用程序来参数化的访问每一项.例如如何用一个循环访问书本三中每一章?
我想popumenu中的index 属性可以实现这个功能,把index当成循环变量使用.
 
你说的index和groupindex是二回事,groupindex象3h所说的没错,但好象并没有
index属性,而popmenu中每一项都是tmenuitem类,不可能通过index访问,我想你
可以通过Components访问每一个tmenuitem菜单,菜单用action比较好
 
如果仅仅要实现你所说的功能,大概不需要groupindex,这是我做的一个例子:
1、对于每个子菜单(章)的OnClick使用同一个事件处理函数:ChapClick
区分第几本书第几章有几中方法:
A. 根据子菜单名字,如第x本书第x章为chapxy
B. 设置groupindex
C. 设置tag
对于A:
procedure TForm1.ChapClick(Sender: TObject);
var
s :string;
i,j :integer;
begin
s := (Sender as TMenuItem).name;
i := strtoint(s[5]);
j := strtoint(s[6]);
ShowText(i,j);
end;

2、对于用一个循环访问书本三中每一章,可以用以下程序段:
i := 0;
while i<Book3.Count do
begin
ChapClick(Book3.items);
sleep(2000);
inc(i);
end;

 
多人接受答案了。
 
后退
顶部