WindowHandleToPlatform

WindowHandleToPlatform

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

谢谢

最佳答案

尝试这个:

#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。如果您想要跨平台的产品,则必须找到其他解决方案。

关于c++ - Embarcadero WindowHandleToPlatform C++的示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20113627/

10-09 15:52