使用Delphi XE2的AnimateWindow

时间:2016-01-13 21:26:07

标签: delphi winapi delphi-xe2 gdi

你好我在Delphi XE2中有AnimateWindow函数的问题,问题是当我使用在windows外观中找到的XE2提供的皮肤时,当使用任何皮肤并与AnimateWindow结合时,该程序融合了正常的设计窗户的一部分窗户带有皮肤,最糟糕的是窗户被冻结而且不能移动得更多。 代码只有这个:

procedure TForm1.FormCreate(Sender: TObject);
begin
  AnimateWindow(Form1.Handle,200, AW_CENTER);
end;

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

问题似乎存在于提供“样式”的所有版本中。 (XE2 .. X西雅图),可以很容易地重复如下:

  • 新的VCL项目
  • 项目选项 - 外观 - 任何可用的样式

添加问题

中的代码
procedure TForm2.FormCreate(Sender: TObject);
begin
  AnimateWindow(Form2.Handle,200, AW_CENTER);
end;

然后跑。窗口出现在屏幕上,但完全没有响应。窗口上的控件似乎正常工作(到目前为止只进行了最少的测试)。

解决方法是将Position属性设置为默认值poDefault以外的其他属性。

Embarcadero质量中心搜索没有提出任何报告。在我做了一些调查之后,我会提交一份报告。

报告,RSP-13459,应用样式的窗口在调用AnimateWindow时冻结

更新24.4.2016昨天我收到了有关RSP-13459的通知:

  

此问题已修复为10.1柏林,它不会重现它   build 24.0.22088.5349.1。