如何移动无边框窗口?

时间:2014-10-17 22:49:48

标签: haxe openfl haxeflixel

我使用HaxeFlixel和本机构建的时钟制作了简单的小应用程序。窗口无法调整大小甚至移动,因为我在project.xml中将其设置为无边框。

现在移动此窗口的唯一方法是挂钩mouseMove事件并相应地设置窗口的位置。第一个听起来很简单,但后者让我烦恼。我一直在寻找Haxe API,OpenFL API和Haxelib,但我找不到任何可以移动窗口的东西。

这是时钟:

3 个答案:

答案 0 :(得分:2)

我认为这可能是使用native extension的好时机。但首先你必须弄清楚C ++代码会移动窗口,我担心我无法帮助解决这个问题。如果你能解决这个问题,那么扩展将处理其余部分。

链接的快速摘要:

  1. 运行lime create extension MoveExtension
  2. 根据Lime生成的示例代码编写C ++代码。
  3. lime rebuild MoveExtension windows汇总。
  4. 在项目中包含输出NDLL文件。

答案 1 :(得分:0)

我根据函数Lib.application.window.move(x, y);

制作了这个项目

https://github.com/RafaelOliveira/MoveOpenFlWindow

它不是很顺利,我试图改进它,但它正在发挥作用。

答案 2 :(得分:0)

更好的回答:

  1. 更新到最新版本的OpenFL和Lime。
  2. 将&#34; -Dnext"添加到命令行参数中。 (在project.xml中,这将是&#34; <setenv name="next" />&#34;。)
  3. 现在您可以移动窗口:Lib.application.window.move(x, y);