比如zhao:=TButton.Create(nil)处设置断点,会打开
constructor TButton.Create(AOwner: TComponent);
function _ClassCreate(AClass: TClass; Alloc: Boolean): TObject;
class function TObject.NewInstance: TObject;
class function TObject.InstanceSize: Longint;
function _GetMem(Size: Integer): Pointer;
function SysGetMem(size: Integer): Pointer;
procedure _TryFinallyExit;
constructor TButtonControl.Create(AOwner: TComponent);
constructor TWinControl.Create(AOwner: TComponent);
constructor TControl.Create(AOwner: TComponent);
constructor TComponent.Create(AOwner: TComponent);
procedure TControl.SetWidth(Value: Integer);
SetBounds(FLeft, FTop, Value, FHeight);
Include(FScalingFlags, sfWidth);
procedure TControl.SetHeight(Value: Integer);
begin
SetBounds(FLeft, FTop, FWidth, Value);
Include(FScalingFlags, sfHeight);
end;
procedure TWinControl.SetTabStop(Value: Boolean);
var
Style: Longint;
begin
if FTabStop <> Value then
begin
FTabStop := Value;
if HandleAllocated then
begin
Style := GetWindowLong(FHandle, GWL_STYLE) and not WS_TABSTOP;
if Value then Style := Style or WS_TABSTOP;
SetWindowLong(FHandle, GWL_STYLE, Style);
end;
Perform(CM_TABSTOPCHANGED, 0, 0);
end;
end;
以及其他的一些函数,通过这种调试你或许会发现windows编程的一些秘密,其实也就是那些东西,只要你仔细看看,就会发现,其实还是用了一些窗口编程的函数,比如,
class function TObject.NewInstance: TObject;
class function TObject.InstanceSize: Longint;
function _GetMem(Size: Integer): Pointer;
还有属性的设置,都封装在类中,vcl还用了一些asm汇编函数来实现这个机制,其实这个简单的问题触及到了系统编程,vcl的机制等好多问题,要彻底明白还要你去学习研究其他的东西,
才能搞明白,弄清楚.