пример embarcadero WindowHandleToPlatform c ++

0

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

благодаря

  • 0
    Вы имеете в виду TPlatformServices? а что вы хотите получить в IFMXWindowService?
  • 0
    Нет, я хочу получить доступ к фактическому дескриптору окна, так как дескриптор firemonkey не поддерживает много вещей
Показать ещё 2 комментария
Теги:
c++builder

1 ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню