由Image继承下来的一个控件,有个私有变量与控件的宽度有关,在设计时改变控件大小,怎么改变变量的值(200分)

  • 主题发起人 主题发起人 pekiee
  • 开始时间 开始时间
P

pekiee

Unregistered / Unconfirmed
GUEST, unregistred user!
由Image继承下来的一个控件,有个私有变量与控件的宽度有关,在设计时改变控件大小(拖动),
怎么改变变量的值
 
有以下几种实现方法:
1、直接处理WM_SIZE消息;
2、覆盖SetBounds方法;
3、覆盖Resize方法;
 
HI, thx1180 ,我首先想到的也是处理WM_SIZE消息,可是他好像不行,是不是从
Twincontrol 继承过来的才行呢?

我去试试别的方法。 
 
procedure AdjustSize; override ;
重载这个方法,在里面处理
 
覆盖Resize方法一定行,因为无论是谁或怎样改变控件的尺寸,最后都要调用
这个方法。
覆盖AdjustSize方法也可以,它会调用SetBounds方法,而SetBounds方法会调用
Resize方法。
TImage继承关系:TControl->TGraphicControl->TImage,查它们的消息处理,
我也没找到对WM_SIZE消息的处理,所以可能不行。
 
予以关注!学习
 
问题已经解决,谢谢!
 
多人接受答案了。
 
后退
顶部