為什麼沒有我定義的屬性。(100分)

  • 主题发起人 主题发起人 hiyaolee
  • 开始时间 开始时间
H

hiyaolee

Unregistered / Unconfirmed
GUEST, unregistred user!

unit xMenu;

{$S-,W-,R-,T-,H+,X+}
{$C PRELOAD}

interface

uses Windows, SysUtils, Classes, Contnrs, Messages, Graphics, ImgList, ActnList,Menus;

type
TxMenuItem = class(TMenuItem)
private
FxBplName: String;
FxFormClass: String;
protected
public
published
property xBplName:String Read FxBplName Write FxBplName;
property xFormClass:String read FxFormClass Write FxFormClass;
end;

TxMenu = class(TMenu)
private
protected
public
published
end;

TxMainMenu = class(TxMenu)
private
protected
public
published
end;

TxPopupMenu = class(TxMenu)
private
protected
public
published
end;

procedure Register;

implementation

uses Controls, Forms, Consts;

procedure Register;
begin
RegisterComponents('xMenu',[TxMainMenu,TxPopupMenu]);
end;

end.
 
你可能要修改tmenu的设计期编辑form,才行
 
需要覆盖主菜单和弹出式菜单的属性 Items 使其成为你自己定义的类的对象实例

同时还要覆盖父类的构造函数,完成这个对象的创建,
另外,可能还需要设计自己的菜单设计器,
可能是菜单类的设计者事先没有考虑到这种扩展的情况,类库设计的可扩展性很差
 
給個解決辦法啊.怎麼修改代碼???拜托。
 
解决这个问题相当的复杂!
主要是你的TXMenu=class(TXMenu)
你必须声明你的Item:TXMenuItem;
其实你可以完全照抄TMenu的代码改写相应的地方,
不过工作两比较大哦!
 
樓上這位此話差異,我照搬過來,改寫後,仍然不行。人都暈了。
 
我想不行是你的问题,
确实工作量很大!你可以找找第三方控件看看,不过不要找什么XPMenu之类的东西,
那对你没帮助!
 
TxMenu = class(TMenu)
private
FItems : TxMenuItem;
protected
public
published
property Items : TxMenuItem read FItems write FItems;
end;

试试
 
我想问一下
{$S-,W-,R-,T-,H+,X+}
{$C PRELOAD}
是干什么用的啊?
 
是编译指令开关,
可以找相关资料看看就明白了!
 

Similar threads

I
回复
0
查看
649
import
I
I
回复
0
查看
529
import
I
I
回复
0
查看
744
import
I
I
回复
0
查看
544
import
I
I
回复
0
查看
521
import
I
后退
顶部