您好,我对Delphi XE2中的AnimateWindow函数有问题,问题是当我使用Windows外观中提供的XE2提供的外观时,当使用任何外观并与AnimateWindow结合使用时,该程序会混合零件窗口的正常设计对于带有皮肤的窗户,最糟糕的是窗户被冻结,无法再移动。
代码只是这样:

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


我该如何解决?

最佳答案

该问题似乎在提供“样式”(XE2 .. X Seattle)的所有版本中都存在,并且可以按以下步骤轻松重复:


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


按照问题添加代码

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


快跑该窗口出现在屏幕上,但完全没有响应。窗口上的控件似乎确实可以正常工作(到目前为止,只有很少的测试)。

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

Embarcadero质量集中搜索未显示任何报告。经过更多调查后,我将提交报告。



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



2016年2月4日更新昨天我收到有关RSP-13459的通知:


  此问题已在10.1柏林修复,无法通过以下方式重现
  版本24.0.22088.5349.1。

关于delphi - 带有Delphi XE2的AnimateWindow,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34777320/

10-12 05:00