- 2009-07-17 (金) 17:45
- 技術
●ウィンドウの形状を変えるには?
デスクトップ上を猫徘徊という目的を達成するには,猫型ウィンドウを作る必要がありそうです.
四角いウィンドウを何とかして猫型にしなくてはなりません.
ウィンドウの形を変える(というか猫でない部分を見せなくする)には,どうやら以下の2つの方法が採れそうです.
- SetWindowRgn
ウィンドウの範囲形状を表すウィンドウリージョンというのを設定します.
リージョンのデータを猫画像に合わせて用意する必要があります.
今回は猫がアニメーションするので,当然,絵が変わる毎にリージョンデータを用意して設定する必要があります.
面倒ですが,VisualStudioのヘルプを見ると対応情報が「Windows95以降」とされているので,自室のメインデスクトップPCがいまだに98SEという方(私です)にも安心かも. - SetLayeredWindowAttributes
レイヤードウィンドウというのを使うと,
・ウィンドウ全体の半透明度を決める
・透明にする色を指定する
が一度に行えます.便利.
今回の目的にうってつけですが,対応情報を見るに,「Windows95/98 : 対応していません」とのことなので,骨董PCでは動かないソフトになってしまうのかもしれません.
OS対応の条件さえ許容できるならば,後者の方が圧倒的に楽です.
とりあえず2つの方法を試してみました.
なお,今回,猫画像は背景色を白( RGB=(255,255,255) )としてBMPで用意することにします.
4パターン黒猫歩行画像を描いてみました.ニャーン!
●ウィンドウの作成
ウィンドウにの枠やタイトルバーは不要なので,CreateWindowのウィンドウスタイル指定引数に WS_VISIBLE | WS_POPUP あたりを渡して作成しておきます.
(2)ウィンドウ形状を変える2
- Newer: ウィンドウ形状を変える2
- Older: Win32【猫デスクトップマスコット】プログラミング日誌