MainMenu控件:要用ToolBar关联一个MainMenu生成主菜单。但在MainMenu添加了菜单项以后会在窗体顶端自动生成一个菜单,如何才能让菜单不出现在窗体最顶端呢?谢谢!
解决方案 »
- 双击ADOConnection控件,点build...按钮 提示“找不到指定模块”
- 采用存储过程上传的问题
- 静态数组的char 与 动态数组 的char 如何进行“互相”转换?
- 谁知?谁晓?谁会?
- dbgrid如何实现双击多选//在线
- 关于IMAGE控件
- 用USERS身份怎么不能读取HKEY_LOCAL_MACHINE下的数据?
- 我想用一个Query控件查询两个数据库,Sql server ,access 怎样实现?
- 列数不定报表怎么做
- 能不能在一个TChart控件中同时显示两个Y坐标?????
- 大家来看看这个软件有存在的价值吗?UP有分,谢谢了。多提点意见
- Delphi线程问题。急!急!急!急!
放置MainMenu后,把窗体的Menu屬性清空即可!
{ }
{ Implements a TToolbar descendant that has a Menu to }
{ make IDE like Toolbar menus very easy. This works }
{ only in Delphi 5 }
{ }
{ Copyright (c) 1995,98 Inprise Corporation }
{ }
{*******************************************************}unit MenuBar;interfaceuses
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;implementationprocedure Register;
begin
RegisterComponents('Samples', [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 - 1 downto 0 do
Buttons[i].Free;
FMenu := Value;
if not Assigned(FMenu) then exit;
for i := ButtonCount to FMenu.Items.Count - 1 do
begin
Button := TToolButton.Create(Self);
try
Button.AutoSize := True;
Button.Grouped := True;
Button.Parent := Self;
Buttons[i].MenuItem := FMenu.Items[i];
except
Button.Free;
raise;
end;
end;
{ Copy attributes from each menu item }
for i := 0 to FMenu.Items.Count - 1 do
Buttons[i].MenuItem := FMenu.Items[i];
end;end.