Welcome

首页 / 软件开发 / C++ / 如何用BCB做出可移动的菜单

如何用BCB做出可移动的菜单2008-01-05有三种方法:

一:

放一个coolbar,在其上放一个toolbar,设置toolbar的showcaptions为true,flat为true,在上面新建一个toolbotton

加入一个popupmenu,设置好其items

设置toolbutton的dropdownmenu为popupmenu,设置其style为btsdropdown

但是这种方法做出来的菜单其实和你要求的并不一样。它的菜单其实是受在按钮旁边的一个小三角符号控制的。

看第二种方法:

1放一个coolbar

2在其上放两个toolbar

3在你想做成菜单的那个toolbar上放一个speedbotton

4设置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、在窗口加一个TControlBar

2、在TControlBar上加一个TToolBar

3、在TToolBar上加足够的按钮(右键菜单的那种),你希望有多少项菜单就加多少个按钮。

4、加一个TMainMenu,象你希望的一样添加菜单项。

5、去掉窗口的Menu属性中的值(在属性窗口中)

6、设TToolBar属性:

ShowCaption=true

DragKind=dkDock

DragMode=dmAutomatic

Flat=true

EdgeBorder=去掉所有项

7、对TToolBar中的所有按钮的设属性:

Grouped=true

AutoSize=true

MenuItem=你希望按钮对应的菜单项

然后,一切OK!