Win32APIにて – プログラミング – Home

通知
すべてクリア

[解決済] Win32APIにて


しんご
 しんご
(@しんご)
ゲスト
結合: 21年前
投稿: 5
Topic starter  

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


引用未解決
トピックタグ
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

HDC hdc = GetDC(hWnd);
これをどこでどんな行っているのか教えないと誰も答えてくれないんじゃないですか


返信引用
冬夜
 冬夜
(@冬夜)
ゲスト
結合: 22年前
投稿: 6
 

グローバル変数にして
CreateWindow後にGetDC、WM_DESTROYでReleaseDCすればどうですか?

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


返信引用
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
 

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


返信引用
n
 n
(@n)
ゲスト
結合: 23年前
投稿: 159
 

ウィンドウクラスにCS_OWNDCスタイルを付けると、
GetDC()やBeginPaint()の度に同一のDCが渡されてくるようになり、
このDCに加えた変更はアプリ終了まで持続するそうです。


返信引用
しんご
 しんご
(@しんご)
ゲスト
結合: 21年前
投稿: 5
Topic starter  

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました