Delphi怎么才0能实现Win7中资源管理器的地址栏...可以一段一段的点击
2个回答
展开全部
这个东西的实现是比较麻烦的,所以我给你只说一下思路。
事实上这个程序的实现是使用了两个控件,一个是ComboBoxEx、一个则是ToolBar。ToolBar放在ComBoBoxEx之上。ToolBar的Visible是由ComboBox是否具有焦点来决定的.也就是OnEnter和OnExit事件。也就是说ComBoBoxEx焦点则ToolBar隐藏,反之则ToolBar显现。
你可以在ComBoBox的OnEndEdit或者OnChange事件中创建ToolBar按钮
当然也要清除之前创建工具栏按钮。
因为地址是由“\”来分割的所以你可以创建一个TStringList,来拆分地址。当然盘符“:”则可以用Pos与Copy函数,或者正则表达式来拆分,我这里就不多说了。
var ParhList: TStringList;
PathList := TStringList.Create;
PathList.Delimiter := '\';
PathList.DelimitedText := ComboBoxEx1.Text;
这样就可以根据PathList中的元素来创建ToolBar的按钮了
而创建的时候要注意的是ToolBar的按钮(TToolBarButton)的Style要设置为tbsDropDown样式。
而且为每个按钮创建DropDownMenu(TPopupMenu),然后在每个新创建PopupMenu的OnPopup的事件中清除旧的、并创建新的子菜单。而图标的问题可以到网上去查询“Delphi 获取系统图标列表”。 完成所有ToolBar相关的OnClick事件。基本上就大功告成了。只是这个非常的复杂,如果你没有特殊的需要的话,我建议你还是不要这么写。
事实上这个程序的实现是使用了两个控件,一个是ComboBoxEx、一个则是ToolBar。ToolBar放在ComBoBoxEx之上。ToolBar的Visible是由ComboBox是否具有焦点来决定的.也就是OnEnter和OnExit事件。也就是说ComBoBoxEx焦点则ToolBar隐藏,反之则ToolBar显现。
你可以在ComBoBox的OnEndEdit或者OnChange事件中创建ToolBar按钮
当然也要清除之前创建工具栏按钮。
因为地址是由“\”来分割的所以你可以创建一个TStringList,来拆分地址。当然盘符“:”则可以用Pos与Copy函数,或者正则表达式来拆分,我这里就不多说了。
var ParhList: TStringList;
PathList := TStringList.Create;
PathList.Delimiter := '\';
PathList.DelimitedText := ComboBoxEx1.Text;
这样就可以根据PathList中的元素来创建ToolBar的按钮了
而创建的时候要注意的是ToolBar的按钮(TToolBarButton)的Style要设置为tbsDropDown样式。
而且为每个按钮创建DropDownMenu(TPopupMenu),然后在每个新创建PopupMenu的OnPopup的事件中清除旧的、并创建新的子菜单。而图标的问题可以到网上去查询“Delphi 获取系统图标列表”。 完成所有ToolBar相关的OnClick事件。基本上就大功告成了。只是这个非常的复杂,如果你没有特殊的需要的话,我建议你还是不要这么写。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询