使用 Delphi XE2 的 AnimateWindow
Posted
技术标签:
【中文标题】使用 Delphi XE2 的 AnimateWindow【英文标题】:AnimateWindow with Delphi XE2 【发布时间】: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;
我该如何解决这个问题?
【问题讨论】:
【参考方案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。
【讨论】:
以上是关于使用 Delphi XE2 的 AnimateWindow的主要内容,如果未能解决你的问题,请参考以下文章
在 Delphi XE2 中使用泛型和前向声明时的编译器错误
使用 Delphi XE2 在 MacOS 中不显示 Webview