現在、アンマネージコードでGUIを作成しグラフ描画をアンマネージコード(DLL)で行わせようと思っているのですが。
VC6.0で出来たような、ハンドルを引数で渡して。
計算及び描画をDLL側で行わせるような事は可能でしょうか?
データ量が多く計算及び描画に速度が要求される処理が必要となっています。
もし可能でしたら実現方法を教えて頂けませんか?
HDC → System.Drawing.Graphics
HDC hDC;
// hDCは適当に設定
System::Drawing::Graphics^ g = System::Drawing::Graphics::FromHdc( IntPtr( hDC ) );
// 処理
g->Dispose();
[MSDN]http://msdn2.microsoft.com/ja-jp/library/system.drawing.graphics.fromhdc(VS.80).aspx
System.Drawing.Graphics → HDC
System::Drawing::Graphics^ g;
// g は適当に設定
System::IntPtr p = g->GetHdc();
HDC hDC = static_cast< HDC >( p.ToPointer() );
// 処理
g->ReleaseHdc( p )
[MSDN]http://msdn2.microsoft.com/ja-jp/library/9z5820hw(VS.80).aspx
あ、Windowsハンドルか、、、
マネージ→アンマネージ
しかおそらくできません。
(Formだったら static_cast< HWND >( Form1->Handle.ToPointer() ); あたりで取得できると思った)
ありがとうございます。
ためしてみます。
いまさらですが、(解決チェックしていないし、、、ね)
>g->Dispose();
は間違いでした。
delete g;
が正しいです。
http://msdn2.microsoft.com/ja-jp/library/system.idisposable(VS.80).aspx
ツイート | ![]() |