2

QPainter機能を使用して利用したい外部ライブラリのWindowsHDCハンドルがあります。QtにHDCハンドルからQPaintDeviceを作成する方法はありますか?

4

1 に答える 1

0

これを行う1つの方法:

Windows API を使用して、HDC から HWND を取得します。

HWND handle = WindowFromDC(hdc);
assert(handle != NULL);

次に、QWidget をサブクラス化して、保護されたメンバー convert へのアクセスを取得します。これを使用して、このソリューションで説明されているように、このメンバーを使用して QWidget を作成します: How to create a qwidget with a hwnd as parent . この例では、QWidgetWrapper のサブクラスを呼び出しました。

QWidgetWrapper *w = new QWidgetWrapper();
w->create((Wld)main_window);

Wld は Qt の「プラットフォーム依存ウィンドウ識別子」の typedef であることに注意してください。

于 2012-04-29T23:38:47.427 に答える