ボタンにデバイスコンテキストを貼る

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
rikaeigo2
記事: 23
登録日時: 2008年7月30日(水) 23:50

ボタンにデバイスコンテキストを貼る

#1 投稿記事 by rikaeigo2 »

ビットマップは貼れますが、DCを張ることはできますか?
できるとすれば、どうやればできますか?
XP、AB.4
よろしくお願いします。m(__)m
tak
記事: 162
登録日時: 2005年5月31日(火) 07:49

Re: ボタンにデバイスコンテキストを貼る

#2 投稿記事 by tak »

> ビットマップは貼れますが、DCを張ることはできますか?

まずは一応確認ですが、「DCを張る」とは、何らかのデバイスコンテキスト(にアタッチされているビットマップ)をボタンコントロールのデバイスコンテキストに BitBlt() するということですね?

ボタンは本来そのようなことを想定したコントロールではありません。
試しに正攻法(GetDC() → BitBlt())で挑んでみましたが、できないようです。

> できるとすれば、どうやればできますか?

オーナー描画という手法があります。
未経験なので詳しいことはわかりませんが、ちょっと調べたところによると、コントロールの再描画が必要になったときに WM_DRAWITEM メッセージが送られてくるので、そのときにコントロールの hDC に自由に描画できるようです。


僕が提供できるヒントはここまでです。
rikaeigo2
記事: 23
登録日時: 2008年7月30日(水) 23:50

#3 投稿記事 by rikaeigo2 »

takさん ありがとうございました^^。
返信する