通知
すべてクリア
Topic starter
2003年12月21日 10:04 PM
こんばんわ。Win32APIにて、
HDC hdc = GetDC(hWnd);
を SelectObjectで変えた設定をずっとアプリケーションが終わるまで持たせておきたいんです
けど、どうすればよいでしょうか? ずっとGetDC()してるわけにはいきませんよね・・
2003年12月22日 8:17 AM
HDC hdc = GetDC(hWnd);
これをどこでどんな行っているのか教えないと誰も答えてくれないんじゃないですか
2003年12月22日 9:34 AM
グローバル変数にして
CreateWindow後にGetDC、WM_DESTROYでReleaseDCすればどうですか?
>ずっとGetDC()してるわけにはいきませんよね・・
ボクは昔やった事があります(笑)
2003年12月22日 9:57 AM
ReleaseDCとGetDCがちゃんと行われていればグローバルにしてもOKかと。
でもCompatibleDCでメモリデバイスコンテキストを得てそちらをグローバルにする
方が一般的かも。
WM_PAINTでBitBltすればいいわけだしね。
2003年12月22日 1:48 PM
ウィンドウクラスにCS_OWNDCスタイルを付けると、
GetDC()やBeginPaint()の度に同一のDCが渡されてくるようになり、
このDCに加えた変更はアプリ終了まで持続するそうです。
Topic starter
2003年12月22日 4:54 PM
あ!nさん!スマートで簡単にできましたー!ありがとうございます。
前に、ずっとGetDCと、CompatibleDCも考慮にいれてましたがやっぱり無駄が多いかなという
ことでやめておきます。でも、アプリケーションによりますので、そのへんはいい技術情報とし
てとらえておきます。