ie一样rebar的制作(100分)

  • 主题发起人 主题发起人 吴国强
  • 开始时间 开始时间

吴国强

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做一如IE的工具栏一样的menu,哪位告诉我
 
向后退按钮那样带一个三角箭头和下拉菜单的?嘿嘿,看看我踢得问题
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=301071
 
你可以用一个叫做 MenuBar 的控件
 
很多空间都有的呀
 
CoolBar 就有这个功能
 
{*******************************************************}
{ }
{ Borland Delphi Visual Component Library }
{ }
{ Copyright (c) 1995,99 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('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 - 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.

// only for D4 and D5
 
多人接受答案了。
 
后退
顶部