Win32APIにて

[戻る]
しんご 2003/12/21(日) 22:04:45
こんばんわ。Win32APIにて、
HDC hdc = GetDC(hWnd);
を SelectObjectで変えた設定をずっとアプリケーションが終わるまで持たせておきたいんです
けど、どうすればよいでしょうか? ずっとGetDC()してるわけにはいきませんよね・・

wood 2003/12/22(月) 08:17:03
HDC hdc = GetDC(hWnd);
これをどこでどんな行っているのか教えないと誰も答えてくれないんじゃないですか

冬夜 2003/12/22(月) 09:34:05
グローバル変数にして
CreateWindow後にGetDC、WM_DESTROYでReleaseDCすればどうですか?

>ずっとGetDC()してるわけにはいきませんよね・・
ボクは昔やった事があります(笑)

SunPac 2003/12/22(月) 09:57:32
ReleaseDCとGetDCがちゃんと行われていればグローバルにしてもOKかと。
でもCompatibleDCでメモリデバイスコンテキストを得てそちらをグローバルにする
方が一般的かも。
WM_PAINTでBitBltすればいいわけだしね。

n [E-Mail] 2003/12/22(月) 13:48:30
ウィンドウクラスにCS_OWNDCスタイルを付けると、
GetDC()やBeginPaint()の度に同一のDCが渡されてくるようになり、
このDCに加えた変更はアプリ終了まで持続するそうです。

しんご 2003/12/22(月) 16:54:03
[[解決]]
あ!nさん!スマートで簡単にできましたー!ありがとうございます。
前に、ずっとGetDCと、CompatibleDCも考慮にいれてましたがやっぱり無駄が多いかなという
ことでやめておきます。でも、アプリケーションによりますので、そのへんはいい技術情報とし
てとらえておきます。

古いスレッドには追加発言できません。