300大洋只求一控件 !!!(300分)

  • 主题发起人 主题发起人 fatBaby
  • 开始时间 开始时间
F

fatBaby

Unregistered / Unconfirmed
GUEST, unregistred user!
一个支持拖拽的菜单控件,类似win98和IE 中的菜单可以拖拽,必须附
源码,最好也能在C++Bulider下使用的
 
Devexpress EBar3.1 Source (http://www.inprises.com/)

Toolbar97 V1.75e for d345 (http://go.163.com/~hua8hua/delphi/)
 
80行,贴上吧。

{*******************************************************}
{ }
{ Implements a TToolbar descendant that has a Menu }
{ property to make creating IDE like Toolbar menus }
{ very easy. This works only in Delphi 4.0 }
{ }
{ Copyright (c) 1995,98 Inprise Corporation }
{ Written By Steven Trefethen }
{ }
{*******************************************************}

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('SDT', [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.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.MenuItem := FMenu.Items;
except
Button.Free;
raise;
end;
end;
{ Copy attributes from each menu item }
for i := 0 to FMenu.Items.Count - 1 do
Buttons.MenuItem := FMenu.Items;
end;

end.
 
其实自带的controlbar也可以做到的, 主要是要做dock方式.
 
不值得。
 
是我说的不清楚吗?

我要的是支持菜单项的拖拽,不是整个菜单!!

就是对拖动一个 TMenuItem 的支持.
 
WebBar 知道。
 
不会吧?300 分还嫌少吗??

再加300分 !!!!!!!!!!!!!!
 
NO, 我不知道
 
1Class 2000可以达到你的需求
 
见鬼,
找不到 1Class2000

请问哪儿下?
 
以后多看一下已回答的问题就可找到答案,不要因不知道而鬼叫OK
http://www.net-wing.net/kangwei/

 
多人接受答案了。
 
后退
顶部