注册 登录
编程论坛 Delphi论坛

Toolbar工具栏问题.请帮忙.

hackergirl 发布于 2008-04-23 20:29, 1752 次点击
我在 ToolBar 工具栏上添加了按钮,把其中一个按钮的 Style 属性设置成 tbsDropDown .
就是下拉列表按钮,就像Windows工具栏中的查看那个按钮,怎样添加内容到列表里的呢?
2 回复
#2
provoke2008-04-24 00:22
我也在研究中
ToolButton有DropDownMenu属性和MenuItem属性,如果下拉列表是静态的,可以直接在属性面板中指定。
MenuItem可以指定MainManu的菜单项,不过似乎只能指定一项,感觉没什么用,而DropDownMenu可以指定一个PopupMenu,当然了,前提是添加了Popupmenu。
如果想要获得像浏览器的后退和前进那样的动态效果,就要在特定事件中添加代码,动态添加、修改和删除。
----------------------------------------------------------------
//在FormShow或FormCreate等相关事件中初始化
  ToolButton1.DropdownMenu:=TPopupMenu.Create(Application);
----------------------------------------------------------------
var
  mui:TMenuItem;
...
  mui:=TMenuItem.Create(Application);
  mui.Caption:=...;
  ToolButton1.DropdownMenu.Items.Insert(0,mui);  //插入到最上方
  mui.Free;
----------------------------------------------------
//其他操作
  ToolButton1.DropdownMenu.Items.Add(mui);      //添加
  ToolButton1.DropdownMenu.Items.Delete(ToolButton1.DropdownMenu.Items.Count-1);       //删除最后一项
  ToolButton1.DropdownMenu.Items.Clear;         //全部清除
  ToolButton1.DropdownMenu.Items[1].Caption:=...;  //修改第2项的标题
//等等
---------------------------------------------------------
最近在研究WebBrowser,前进和后退功能实现起来要稍稍变换一下思路:
通常下拉列表中显示的是标题,所以需要利用二维数组来分别保存网址和显示标题,点击的时候通过“下标”来搜寻另一维,传递网址。但是这样“下标”不知怎么搞法……

[[it] 本帖最后由 provoke 于 2008-4-24 00:27 编辑 [/it]]
#3
hackergirl2008-04-25 12:47
嗯.我要是的 DropdownMenu 属性指向 PupMenu 控件,成功了.谢谢你写这么多代码,辛苦了.
1