QPainter機能を使用して利用したい外部ライブラリのWindowsHDCハンドルがあります。QtにHDCハンドルからQPaintDeviceを作成する方法はありますか?
1239 次
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 に答える