【问题标题】:AnimateWindow with Delphi XE2使用 Delphi XE2 的 AnimateWindow
【发布时间】:2016-04-19 01:19:00
【问题描述】:
您好,我在 Delphi XE2 中的 AnimateWindow 功能有问题,问题是当我使用在 windows 外观中找到的 XE2 提供的皮肤时,当使用任何皮肤并与 AnimateWindow 结合时,程序融合了正常的设计窗户的部分窗户有皮,最糟糕的是窗户被冻结,不能移动更多。
代码只有这样:
procedure TForm1.FormCreate(Sender: TObject);
begin
AnimateWindow(Form1.Handle,200, AW_CENTER);
end;
我该如何解决这个问题?
【问题讨论】:
标签:
delphi
winapi
delphi-xe2
gdi
【解决方案1】:
问题似乎存在于所有提供“样式”(XE2 .. X 西雅图)的版本中,并且可以很容易地重复如下:
- 新建VCL项目
- 项目选项 - 外观 - 任何可用样式
添加问题中的代码
procedure TForm2.FormCreate(Sender: TObject);
begin
AnimateWindow(Form2.Handle,200, AW_CENTER);
end;
然后跑。窗口出现在屏幕上,但完全没有响应。窗口上的控件似乎工作正常(目前仅进行了最少的测试)。
解决方法是将Position 属性设置为默认poDefault 以外的其他值。
Embarcadero 质量中心搜索未显示任何报告。我会在进行更多调查后提交报告。
报告,RSP-13459,应用样式的窗口在调用 AnimateWindow 时冻结
2016 年 4 月 24 日更新昨天我收到了关于 RSP-13459 的通知:
此问题已针对 10.1 Berlin 修复,它不会重现它
构建 24.0.22088.5349.1。