请问大家一个小问题,Delphi里面有继承吗?TImage从TControl继承的,可是我为什么不能用它的AdjustSize呢? Adjust实际上不是一个由程序员调用的方法。它是控键内部用来实现AutoSize的,当AutoSize为True的时候,这个方法会被控键内部调用。你要改变控键大小的话直接使用Width或者Height就行了吧。类似这样的内部方法还有AdjustClientRect等。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 AdjustSize是TControl的保护方法,TImage当然不能使用。如果一定要用也是有办法的,不过好像不需要。 AdjustSize是protected不能被TImage继承 哈哈,看来DELPHI程序员对OOP理解不够深呀。 一叶障目!保护的方法是子类可以调用而类对象的使用者不能调用。数据和属性也是如此。TImage的方法能调用AdjustSize,但TImage对象所在的Form是它的使用者不能调用这个方法。如果你将TImage.AutoSize设置为True的话,它会自动调用AdjustSize调整自身大小来适应图形的大小。 to allex(民工) >>看来DELPHI程序员对OOP理解不够深呀。 这句话说得不客观,“对OOP理解不够深”不是因为是“DELPHI程序员”,而是还没学好OOP,没学好OOP的话,C++程序员也会提出若干问题。以下代码与OOP概念无关,存属delphi编程技巧unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) Image1: TImage; bt_AdjustSize: TButton; procedure bt_AdjustSizeClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementationtype THackImage = class(TImage) end;{$R *.DFM}procedure TForm1.bt_AdjustSizeClick(Sender: TObject);begin THackImage(Image1).AdjustSize;end;end. 因为在DELPHI里的控件太多,程序员不须再写多余的CODE,所以都自己不需要写类,只要写一写什么OnClick事件,再说DELPHI的OOP不正中。而VC就不一样了,所以学OOP还是多看VC。 窗体传值问题 appendmenu(i,mf_string,100,'我的菜单(&E)')是什么意思? 想打印DBGrid,大家觉得哪种“打印控件”比较好? 如何处理字符串中的HTML标签 真的没有高手能解决这个连打问题吗???太急 sql 中的错误,大家帮忙 这样为什么不行?(不知道是SQL语句的问题还是什么) 如何判断combobox组件 哪里有固定资产管理的示例程序下载? 关于动态生成组件的问题 请问你们在哪里开会???? delohi 怎么定义多位动态数组?急急急!
TImage的方法能调用AdjustSize,但TImage对象所在的Form是它的使用者不能调用这个方法。
如果你将TImage.AutoSize设置为True的话,它会自动调用AdjustSize调整自身大小来适应图形的大小。
>>看来DELPHI程序员对OOP理解不够深呀。
这句话说得不客观,“对OOP理解不够深”不是因为是“DELPHI程序员”,而是还没学好OOP,
没学好OOP的话,C++程序员也会提出若干问题。
以下代码与OOP概念无关,存属delphi编程技巧
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Image1: TImage;
bt_AdjustSize: TButton;
procedure bt_AdjustSizeClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationtype
THackImage = class(TImage)
end;{$R *.DFM}procedure TForm1.bt_AdjustSizeClick(Sender: TObject);
begin
THackImage(Image1).AdjustSize;
end;end.