如何能实现(10分)

  • 主题发起人 主题发起人 苦海无边
  • 开始时间 开始时间

苦海无边

Unregistered / Unconfirmed
GUEST, unregistred user!
____________
| ab |
------------
| bc |
------------
| cd |
------------
假设上面是个弹出的pop菜单
我在他点击过程中如何才能
返回选中的caption的值呢?
就是使 label='ab'或者‘bc’......
 
Label1.Caption :=PopupMenu1.Items[0].Caption;
 
我说的是在点击过程里
Items[0]从哪里来呢?
 
卷老大已经说很清楚了
 
Items[0]表示菜单的第一项啊~~~
 
可我要是点的第2个返回的还是第一个的值啊
 
点第二个就改成Label1.Caption :=PopupMenu1.Items[1].Caption;不就行了。
 
//做一个公共的过程,显示选中的PopupMenu.Items的Caption
procedure TForm1.PopupMenuClick(Sender: TObject);
begin
Label1.Caption:= (Sender as TMenuItem).Caption;
end;

//令每一个PopupMenu.Items的OnClick事件等于上面的公共事件
procedure TForm1.FormShow(Sender: TObject);
var i:integer;
begin
for i:=0 to PopupMenu1.Items.Count-1 do
PopupMenu1.Items.OnClick:=PopupMenuClick;
end;

上面程序测试通过。
 
接受答案了.
 
后退
顶部