【发布时间】:2011-09-10 01:55:12
【问题描述】:
我有一个窗口,我在其中显示一张图片。我希望用户能够调整此窗口的大小,但是 保持与图像相同的纵横比,因此窗口上不会出现大的空白区域。
我在 OnResize 事件中尝试的是这样的:
DragWidth := Width;
DragHeight := Height;
//Calculate corresponding size with aspect ratio
//...
//Calculated values are now in CalcWidth and CalcHeight
Width := CalcWidth;
Height := CalcHeight;
这样做的问题是,在原始调整大小和计算出的调整大小之间拖动调整大小时,窗口会闪烁,因为 OnResize 事件是在调整大小完成(并绘制一次)之后调用的。
您知道平滑纵横比调整大小的任何解决方案吗?
感谢您的帮助。
【问题讨论】: