2012-01-20 5 views
0

メモ帳の例のように、特定のウィンドウに.pngファイルを描画するにはどうすればよいですか?VC++(.Net)2010グラフィックをウィンドウに描画

HWND hWnd = FindWindow(0, "Untitled - Notepad"); 

void DrawTohWnd() 
{ 
    Image^ newImage = Image::FromFile("smile.png"); 
    //Draw newImage to Window (Notepad)... 
    //... 
} 
+0

これは、ウィンドウをサブクラス化してペイントメッセージを傍受できるように、プロセスにDLLを注入する必要があります。 C++/CLIのようなコードを書くことはできません。ネイティブコードが必要です。右に行くのは非常に難しい。 –

+0

@HansPassant:あなたはDLL注入について正しくあります。しかし、マネージコードはウィンドウのサブクラス化をうまく行えます。 'NativeWindow :: AssignHandle'を参照してください。 –

答えて

2

最も簡単な方法はGraphics::DrawImage methodを使用して(描画オプションを指定する任意の他の所望のパラメータと共に)あなたImageオブジェクトに渡すことです。

しかし、あなたのウィンドウ(HWND)に対応するGraphicsクラスのインスタンスが必要です。 Graphics::FromHwnd methodに電話すると1つを得ることができます。

あなたが書いたコードには注意してください。キャプションでウィンドウを検索することは、本質的に壊れやすい方法です.Windowsは頻繁にタイトルを変更します。

+0

ありがとう、ええ、ちょうどあなたが私の目標が何であるかをよりよく理解できるようにコードを入力しました。 – Bawss

関連する問題