embarcadero WindowHandleToPlatform c ++的例子

时间:2013-11-21 06:00:56

标签: c++ c++builder

我需要一个用于c ++ builder的WindowHandleToPlatform示例 我想使用句柄对表单执行bitblt和其他功能 我可以使用VCL做到这一点,效果很好。 Think WindowHandleToPlatform是firemonkey的解决方案,但文档很差

谢谢

1 个答案:

答案 0 :(得分:1)

试试这个:

#include <FMX.Platform.Win.hpp>

void __fastcall TMyForm::DoSomething()
{
    TWinWindowHandle *ThisHandle = WindowHandleToPlatform(this->Handle);
    if (ThisHandle != NULL)
    {
        HWND hWnd = ThisHandle->Wnd;
        if (ThisWnd != NULL)
        {
            // use ThisWnd as needed...
        }
    }
}

或者改为使用FormToHWND()(内部使用WindowHandleToPlatform()):

#include <FMX.Platform.Win.hpp>

void __fastcall TMyForm::DoSomething()
{
    HWND ThisWnd = FormToHWND(this);
    if (ThisWnd != NULL)
    {
        // use ThisWnd as needed...
    }
}

无论哪种方式,请记住这些功能是特定的Windows。如果你想要跨平台的东西,你将不得不找到另一种解决方案。