怎样隐掉菜单,而是用自己的toolbar(50分)

  • 主题发起人 chenyscar
  • 开始时间
C

chenyscar

Unregistered / Unconfirmed
GUEST, unregistred user!
在设计界面的时候,用了mainmenu但是,不想让他在界面得最上曾显示,而象显示自己添加的toolbar
通常来说,toolbar会显示在菜单的下面,但是,我不想显示菜单
 
用 popupmenu,然后将 toolbutton 的 menuitem 指过去就可以了
 
我想用mainmenu,还有,有很多菜单项,用mainmenu可以吗???
 
用ActionMainMenu,我用过是可以的
 
angleli1981
你说的那个东西,那里有?
 
给你一篇文章看:
众所周知,DELPHI和VC有个区别就是凡是IDE实现的功能,就可以写出来。但VC往往做不到。但是,DELPHI的移动菜单,宝兰却没有公布。这的确是个遗憾。如果你想写出DELPHI或金山毒霸中的那种菜单,需要下面这个控件。来自BORLAND.COM。
用法很简单,请自己研究。
{*******************************************************}
{ }
{ Implements a TToolbar descendant that has a Menu to }
{ make IDE like Toolbar menus very easy. This works }
{ only in Delphi 4.0 }
{ }
{ Copyright (c) 1995,98 Inprise Corporation }
{ }
{*******************************************************}
unit MenuBar;

interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ToolWin, ComCtrls, Menus;

type
TMenuBar = class(TToolBar)
private
FMenu: TMainMenu;
procedure SetMenu(const Value: TMainMenu);
protected
procedure GetChildren(Proc: TGetChildProc;
Root: TComponent);
override;
public
constructor Create(AOwner: TComponent);
override;
published
property EdgeBorders default [];
property Menu: TMainMenu read FMenu write SetMenu;
end;

procedure Register;

implementation
procedure Register;
begin

RegisterComponents('Standard', [TMenuBar]);
end;

{ TMenuBar }
constructor TMenuBar.Create(AOwner: TComponent);
begin

inherited Create(AOwner);
Flat := True;
ShowCaptions := True;
EdgeBorders := [];
ControlStyle := [csCaptureMouse, csClickEvents,
csDoubleClicks, csMenuEvents, csSetCaption];
end;

procedure TMenuBar.GetChildren(Proc: TGetChildProc;
Root: TComponent);
begin

end;

procedure TMenuBar.SetMenu(const Value: TMainMenu);
var
i: Integer;
Button: TToolButton;
begin

if FMenu = Value then
exit;
if Assigned(FMenu) then

for i := ButtonCount - 1do
wnto 0do

Buttons.Free;
FMenu := Value;
if not Assigned(FMenu) then
exit;
for i := ButtonCount to FMenu.Items.Count - 1do

begin

Button := TToolButton.Create(Self);
try
Button.AutoSize := True;
Button.Grouped := True;
Button.Parent := Self;
Buttons.MenuItem := FMenu.Items;
except
Button.Free;
raise;
end;

end;

{ Copy attributes from each menu item }
for i := 0 to FMenu.Items.Count - 1do

Buttons.MenuItem := FMenu.Items;
end;

end.

 
简单说是隐藏mainmenu,
1、选择窗体,去掉menu属性中的mainmenu.
2,选择toolbar,设定其menu属性为mainmenu.
ok.!
 
多人接受答案了。
 
顶部