Пример embarcadero WindowHandleToPlatform C++

Мне нужен пример WindowHandleToPlatform для C++ Builder. Я хочу использовать дескриптор для выполнения bitblt и других функций в форме, я могу сделать это с помощью VCL и прекрасно работает. Думаю, WindowHandleToPlatform - это решение для firemonkey, но документация очень плохая

Спасибо

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. Если вы хотите что-то кроссплатформенное, вам нужно будет найти другое решение.

Другие вопросы по тегам