TMenuItem这个类定义了什么?它能完成什么功能?(30分)

  • 主题发起人 主题发起人 chen_ke
  • 开始时间 开始时间
??
不会是没看懂源程序,想让大家给你解释一下吧?
就是菜单项嘛。一个弹出菜单的某一项。
包括的东西可以看看源程序。
其实vcl的源程序写的很清楚了。
比如:
TMenuItem = class(TComponent)
private
FCaption: string;
//自然是菜单项的caption了
FHandle: HMENU;
//菜单的句柄了
FChecked: Boolean;
//是否设置checked,即菜单项前有没有//和X
FEnabled: Boolean;
//是否可选取
FDefault: Boolean;
//是否是缺省菜单项,即弹出菜单时选中的那项
FRadioItem: Boolean;//是否设置为Radio类型
FVisible: Boolean;
//是否可见
......
有什么地方不理解再提出来吧。
 
其实就是mastapp例子中的使主窗口总是在屏幕的前端的那个过程
tmainform.togglestayontop(sender:tobject),有点弄不明白。
 
ViewStayOnTop是一个菜单项,
它的单击事件就是tmainform.togglestayontop(sender:tobject)
在这个过程中,
为了与菜单名无关就
with Sender as TMenuItemdo
begin
Checked := not Checked;
if Checked then
MainForm.FormStyle := fsStayOnTop
else
MainForm.FormStyle := fsNormal;
end;
其实不少人是这样写的:
ViewStayOnTop.checked:=not ViewStayOnTop.checked;
if ViewStayOnTop.checked then
...
else
...
当菜单名ViewStayOnTop变化时,程序也要跟着变。
而例子中就避免了这一点。
 
我想再问一问,基类tobject到底包括了多少内容的?
 
呵呵,
没多少内容;)
你用的是什么版本的delphi?
如果有source可以看一看,
TObject = class
constructor Create;
procedure Free;
class function InitInstance(Instance: Pointer): TObject;
procedure CleanupInstance;
function ClassType: TClass;
class function ClassName: ShortString;
class function ClassNameIs(const Name: string): Boolean;
class function ClassParent: TClass;
class function ClassInfo: Pointer;
class function InstanceSize: Longint;
class function InheritsFrom(AClass: TClass): Boolean;
class function MethodAddress(const Name: ShortString): Pointer;
class function MethodName(Address: Pointer): ShortString;
function FieldAddress(const Name: ShortString): Pointer;
function GetInterface(const IID: TGUID;
out Obj): Boolean;
class function GetInterfaceEntry(const IID: TGUID): PInterfaceEntry;
class function GetInterfaceTable: PInterfaceTable;
function SafeCallException(ExceptObject: TObject;
ExceptAddr: Pointer): HResult;
virtual;
procedure AfterConstruction;
virtual;
procedure BeforeDestruction;
virtual;
procedure Dispatch(var Message);
virtual;
procedure DefaultHandler(var Message);
virtual;
class function NewInstance: TObject;
virtual;
procedure FreeInstance;
virtual;
destructor Destroy;
virtual;
end;

这次我真的要呼呼呼了~~~
 
delphi4.0的,可以查到,不过看不大明白。。。
 
找一本老外写的《delphi从入门到精通》挺厚的一书,好象是7X元
(我是借别人的看的)
还不错,好象有一章的开始就讲了Tobject.
有机会去书店翻翻,
如果¥充足,还是买本算了;-)
 
接受答案了.
 
我是想买本厚点,深点的,但不知delphi5的书出了没有。
 
后退
顶部