#norelated
#contents
* Today プラグインサンプルプログラム2 [#xa500017]

** 背景透過 [#ofd9e8e8]
[[Today プラグインサンプルプログラム]]で作ったサンプルでは、ウィンドウクラス登録で指定した黒ブラシで描画された背景を持つアイテムが表示されていました。~
この上に色々描いていってもいいのですが、せっかくToday画面には壁紙が表示されているので、その壁紙の上に色々表示させたいですよね。~

というわけで、前回黒かった部分を透過して、壁紙を表示させるようにします。~

といっても、WindowsMobileSDKのサンプル等を見ると、WM_ERASEBKGNDを処理して、シェルにTODAYM_DRAWWATERMARKメッセージで壁紙を描いてもらうという処理を行っているようですが、これをしなくても、ウィンドウクラスのhbrBackgroundをNULL指定にするだけで、とりあえずは壁紙が表示されるようです。~

恐らく、アイテムの親ウィンドウにWS_CLIPCHILDRENがついていないので、親ウィンドウが描画されるタイミングでアイテム部分まで壁紙が描画されているので、問題なく透けて見えているようです。~
ただ、なんらかの要因で親ウィンドウの更新がされずに、アイテム内部の描画だけが必要になった時には、WM_ERASEBKGNDかWM_PAINTを処理して、その中で親ウィンドウに壁紙の描画を依頼する必要があると思われます。~

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS