我正沉浸在我的第二个适用于 Windows 和 OSX 的 Firemonkey 应用程序中,并慢慢地转换我的函数库以处理跨平台问题。我正在尝试创建一个通用的 SelectDirectory 函数,它将运行 Windows 或 OSX 平台特定的代码。我的 SelectDirectory 对于单独调用的两个平台都非常有效,但 Windows 特定的平台需要 hwndparent 句柄才能运行。
这是在 IFDEF MSWINDOWS 指令中运行的(就像 OSX 在其编译器指令中一样)。如何将通用句柄传递给此函数,或者如何引用 Application.MainForm 或可以在此函数内转换为 Windows 句柄的内容?我希望避免在该库的 use 子句中使用 Firemonkey 特定单元。我宁愿以某种方式传递一个 THandle 并将其转换为函数内的 TWindowHandle ,但经过一个小时的工作后,我不知道如何在不影响我的库的实用性的情况下做到这一点。
任何帮助表示赞赏。
Use WindowHandleToPlatform获取特定于 Windows 的TWinWindowHandle
其中有Wnd
财产。这是本机窗口句柄(HWND
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)