可以作到;
coolbar上边放一个toolbar;
建几个toolbutton;
设置toolbutton的style属性;
toolbutton.Menuitem:=N1//N1就是想要下接的菜单的的一个选项;
//注:应该将toolbar.showcaption:=true;
coolbar上边放一个toolbar;
建几个toolbutton;
设置toolbutton的style属性;
toolbutton.Menuitem:=N1//N1就是想要下接的菜单的的一个选项;
//注:应该将toolbar.showcaption:=true;
解决方案 »
- 怎样把带有窗体的dll做为子窗体调用?
- 在前台用什么组件,如何设置,写什么代码可以实现对word文件的任意操作,谢谢!很急,望能详细点。
- DBEXPRESS+INTERBASE 做的三层软件采用事务,竟发现DBEXPRESS的事务好像有问题?
- dbgrid显示不出数据,在线等......
- 高分给控制idftp异常问题???
- 一个有关Timer的问题??
- 关于InstallShield的打包问题
- delphi做了一个类腾讯的游览器。但我想双击页顶端关闭pagecontrol和webBrowse控件出现问题?
- 请参与 【征求多用户操作的完美解决办法!分不够可以在开帖子!(300分)】一贴的同志近来接分!!
- Delphi如何调用EJB啊?
- 为什么我不能捕捉indy的错误?
- 十万火急!装D6 PACK2之前能用的取临时文件夹的函数现在不能用了。怎么回事?
还可以用ToolBar、TControlBar 制作工具栏的方法,也很爽。
不过只允许我放这点字符,只能割爱了。
全部文字都选至本人的著书,绝无D版。
其中插图无法在这显示,请谅解。
ToolBar介绍见:http://www.csdn.net/expert/topic/546/546288.xml?temp=.39931897.2.3 使用CoolBar组件
除了ToolBar组件,Delphi还提供了CoolBar组件,可以用来设置工具栏。CoolBar组件位于组件板的[Win32]选项卡上。和ToolBar组件不同,CoolBar组件是一个容器型组件,利用其他组件来设计工具栏,这些组件在CoolBar组件中以TCoolBand类型对象的形式出现,每一个TCoolBand对象还可单独设置属性。
下面仍利用前面的例程5-2来介绍如何利用CoolBar组件设计工具栏。
1.打开应用程序
启动Delphi,从[File]菜单中选取[Reopen]命令或[Open Project]命令,打开应用文件Project5_2。此时,应用程序将打开例程5-2窗体,修改Form1的Caption属性为“工具栏设计”。
2.添加CoolBar容器中将包括的组件
CoolBar将包括两个组件,一个是添加并象例程7-2一样设置好的ToolBar组件,另一个是ComboBox组件——ComboBox1,并利用Items属性为其添加10、12、15、18、2l、24六个选项条目;再用Text属性将其缺省选项改成10。我们将用这两个组件组合成一个CoolBar工具栏。
3.添加CoolBar组件
下面往窗体中添加一个CoolBar组件—CoolBar1,并将其AutoSize属性设置为True。
4.添加TCoolBand对象,将组件添加到TCoolBand对象中
在CoolBar工具栏中,通常包括很多子工具栏,每个子工具栏只能容纳一个组件,各个子工具栏可以在CoolBar工具栏的范围内调整位置和顺序,这些子工具栏就是TCoolBand对象。如果要添加TCoolBand对象,执行如下操作:
(1)单击CoolBar组件的Bands属性右侧的省略号按钮,打开[Editing CoolBar1.Bands]窗口,如图7-7所示。图7-7 [Editing CoolBar1.Bands]窗口
(2)单击[Add New]按钮,可添加一个TCoolBand对象。
(3)单击TCoolBand对象的Control属性右侧的下拉按钮,可从中选择一个组件,例如选择ToolBar1。然后利用Text属性添加一个标题,例如添加“工具栏”。
(4)继续单击[Add New]按钮,可继续添加TCoolBand对象。这里,我们只添加两个TCoolBand对象。
(5)继续给TCoolBand对象添加组件。TCoolBand对象使用的典型组件是ToolBand,但也可以使用编辑框、组合框等组件。例如,我们添加第二个TCoolBand对象,将其Control属性选择为ComboBox1,将其Text属性设置为“字号”。
(6)添加TCoolBand对象完毕后,[Editing CoolBar1.Bands]窗口关闭。
用户可以每行放置一个TCoolBand对象,也可以将几个TCoolBand对象放置在同一行上,每个对象使用一部分。例如,我们在CoolBand中使用了两个TCoolBand对象,共占两行,每行放置一个对象。
至于TCoolBand对象所对应的组件,仍可单独进行编程,对此我们不再进行重复。如图7-8,显示了上述操作的运行效果。图7-8 使用CoolBar工具栏 图7-9 调整TCoolBand对象位置和大小
在程序运行时,将鼠标指向TCoolBand对象左侧的竖形条,按住并拖动鼠标可调整对象位置。另外,单击TCoolBand对象的标题可自动扩大它。如图7-9显示了经过调整后的TCoolBand。
如果要使ToolBar组件在CoolBar组件中仍保持浮动特性,则应给CoolBar组件添加OnDockOver事件,并编写如下代码:
procedure TForm1.CoolBar1DockOver(Sender: TObject; Source: TDragDockObject;
X, Y: Integer; State: TDragState; var Accept: Boolean);
var
ARect:TRect;
begin
Accept:=(Source.Control is TToolBar);
if Accept then
begin
ARect.TopLeft:=CoolBar1.ClientToScreen(CoolBar1.ClientRect.TopLeft);
ARect.BottomRight:=CoolBar1.ClientToScreen(CoolBar1.ClientRect.BottomRight);
Source.DockRect:=ARect;
end;
end;
5.保存程序
将单元文件另存为“Unit7_3.pas”,将项目文件另存为“Project7_3.dpr”。
但还是没有回答我的问题,如何在工具条按钮显示不下的时候,在工具条的最右侧自动出现“>>”符号,点击它,就会弹出对应按钮功能的下拉菜单?
但是是一个很复杂的算法,必须自己编写代码进行判断