P pekiee Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-18 #1 由Image继承下来的一个控件,有个私有变量与控件的宽度有关,在设计时改变控件大小(拖动), 怎么改变变量的值
T thx1180 Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-18 #2 有以下几种实现方法: 1、直接处理WM_SIZE消息; 2、覆盖SetBounds方法; 3、覆盖Resize方法;
P pekiee Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-19 #3 HI, thx1180 ,我首先想到的也是处理WM_SIZE消息,可是他好像不行,是不是从 Twincontrol 继承过来的才行呢? 我去试试别的方法。
X xue_fg Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-19 #4 procedure AdjustSize; override ; 重载这个方法,在里面处理
T thx1180 Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-19 #5 覆盖Resize方法一定行,因为无论是谁或怎样改变控件的尺寸,最后都要调用 这个方法。 覆盖AdjustSize方法也可以,它会调用SetBounds方法,而SetBounds方法会调用 Resize方法。 TImage继承关系:TControl->TGraphicControl->TImage,查它们的消息处理, 我也没找到对WM_SIZE消息的处理,所以可能不行。
覆盖Resize方法一定行,因为无论是谁或怎样改变控件的尺寸,最后都要调用 这个方法。 覆盖AdjustSize方法也可以,它会调用SetBounds方法,而SetBounds方法会调用 Resize方法。 TImage继承关系:TControl->TGraphicControl->TImage,查它们的消息处理, 我也没找到对WM_SIZE消息的处理,所以可能不行。