呵呵,参考我的程序吧.......mainmenuanywhere.exe
http://netroom.hbu.edu.cn/personal/mudeen/mainmenuanywhere.exe
需要源码的话等晚上十点之后会上传到我的FTP上
http://netroom.hbu.edu.cn/personal/mudeen/mainmenuanywhere.exe
需要源码的话等晚上十点之后会上传到我的FTP上
解决方案 »
- 使用delphi如何调用啊。谢谢大家。
- QuickRep报表问题:如何给记录手动赋值?
- 怎么让窗口全屏显示?帮帮我吧?
- HELP!...本人是中程,生活在一个买电脑的地狱,初来驾道,请多关照,问一个ADO的问题...
- 关于dephi 6 TComboBox 的奇怪问题,真的怪死了,绝对高分诱惑
- 应该是2009的问题!
- 怎样让青松指纹考勤软件自动每天为我输入上下班时间,我经常迟到早退的那种
- 在Delphi5中如何取得打印机的信息,超值大分奉送
- 请教一个很菜的问题:)
- 如何知道鼠标在DBGrid中某行某列上停留了1秒以上?
- 急用!怎样让输入焦点进入DBGRID的一个cell?(如到第二列的第三行)
- 怎么样在用ODBC访问Access数据库时,不出现输入密码的窗口?
toolbar上每个按钮有一个menuitem(没记错的话)设置为一菜单项,比如:
mnufile,然后将所有按钮的grouped设置为true,autosize设置为true,showcaption设置为true
怎把ToolBar建在CoolBar上会吧!
下载去吧...........
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;
For i:=0 to MainMenu.Items.Count-1 do
begin
MainMenu.Items[i].Visible:=False;
end;
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, 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.