龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

如何用BCB做出可移动的菜单?

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
有三种方法: 一: 放一个coolbar,在其上放一个toolbar,设置toolbar的showcaptions为true,flat为true,在上面新建一个toolbotton 加入一个popupmenu,设置好其items 设置toolbutton的dropdownmenu为popupme

  有三种方法:

  

一:

  

放一个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!

  

精彩图集

赞助商链接