首页 / 软件开发 / C++ / 如何用BCB做出可移动的菜单
如何用BCB做出可移动的菜单2008-01-05有三种方法:一:放一个coolbar,在其上放一个toolbar,设置toolbar的showcaptions为true,flat为true,在上面新建一个toolbotton加入一个popupmenu,设置好其items设置toolbutton的dropdownmenu为popupmenu,设置其style为btsdropdown但是这种方法做出来的菜单其实和你要求的并不一样。它的菜单其实是受在按钮旁边的一个小三角符号控制的。看第二种方法:1放一个coolbar2在其上放两个toolbar3在你想做成菜单的那个toolbar上放一个speedbotton4设置speedbutton的flat为true,caption为“文件”5加如一个popupmenu,设置其items为“打开”和“退出”6在speedbutton的onclick事件里加入以下代码:void __fastcall TForm1::SpeedButton1(TObejct *Sender)
{
Tpoint Pos;
TSpeedButton *Btn;
Btn = TSpeedButton(Sender);
Pos=Btn.ClientToScreen(TPoint(0,0));
Pos.y=Pos.y+Btn.Height;
PopupMenu1.Popup(Pos.x,Pos.y);
}
第三种方法:不需要写代码。步骤:1、在窗口加一个TControlBar2、在TControlBar上加一个TToolBar3、在TToolBar上加足够的按钮(右键菜单的那种),你希望有多少项菜单就加多少个按钮。4、加一个TMainMenu,象你希望的一样添加菜单项。5、去掉窗口的Menu属性中的值(在属性窗口中)6、设TToolBar属性:ShowCaption=trueDragKind=dkDockDragMode=dmAutomaticFlat=trueEdgeBorder=去掉所有项7、对TToolBar中的所有按钮的设属性:Grouped=trueAutoSize=trueMenuItem=你希望按钮对应的菜单项然后,一切OK!