掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
デバイスコンテキストを重複してGetDCしてよいのでしょうか? (ID:29407)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
連続で質問っす。失礼しています。 理解を深めようと勉強してみました。 C := TCanvas.Create; C.Handle := GetDC(Edit1.Handle); Cを使って何かする ReleaseDC(Edit1.Handle, C.Handle); C.Free; こうすればよいことはわかってきました。 ※try finallyは書かないでおいています。 では、以下のように同じウィンドウハンドルから 二回、GetDCしてもいいのでしょうか? C1 := TCanvas.Create; C2 := TCanvas.Create; C1.Handle := GetDC(Edit1.Handle); C2.Handle := GetDC(Edit1.Handle); C1を使って何かする C2を使って何かする ReleaseDC(Edit1.Handle, C1.Handle); ReleaseDC(Edit1.Handle, C2.Handle); C1.Free; C2.Free; 同じ物から、デバイスコンテキストを複数 利用するために作り出して、正しく動作する物なのでしょうか? 疑問です。 よくわかるかた教えてください。 また、よくわかるページがあれば教えてください。 よろしくお願いします。 デバイスコンテキストとハンドル http://www.kab-studio.biz/Programing/Codian/MxA/08.html このページを読んでいるところですが ウィンドウハンドルからデバイスコンテキストを 二重に生成してよいものかどうか というのはわかりません。 "GetDCでデバイスコンテキストを生成する" と、思いこんでいるのですが、 この理解が間違っていて言っていることが変になっているかもしれません。 GetDC http://yokohama.cool.ne.jp/chokuto/urawaza/api/GetDC.html ここは読みました。 Edit1はすでにデバイスコンテキストを持っていて そのハンドルを知るために、GetDCをしているのか.....な? そしたらReleaseDCってのは、そもそもなんのために... Edit1が破棄される時に解放されるんじゃないのか? 難しいな。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.