我也在研究中
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]]