8/5(水)


起動したときのデスクトップの状態で歩き回るヤツを作り始めた。

とりあえず、イメージのマスク抜いて表示しなければならない。
むかし、1BA邸で試したときは確か、

ImageList->GetBitmap(0, Image->Picture->Bitmap);

ってやって、うまく抜けなかったなぁ。

どうするんやろ?
たしか、CanvasにはCopyModeってプロパティがあってAndとかOrとか指定できるなぁ。
せやけど、いちいち、Mask指定してそんなことしなアカンの?
えらい、ダルいで。それは・・・

なんかないんやろか・・・?
って、調べてみた。

なんと、ImageListにもDrawがあるじゃん。
しかも、DrawingStyleプロパティで指定される方式に従うって書いてあるよ。
DrawingStyleはマスクだとかなんだとかいろいろ指定できるみたいだ。
とりあえずこれを試してみよう。

・・・ををっ!
透けてるよ。スケスケですよ。
OK,OKこれをつかえばいいんじゃん。


あとで、Kozuさんに聞いたら、別にCanvas->Drawでも勝手にマスク抜いてくれるらしい・・・(注)
なんだ、そうだったのか。
また、複雑に考えてはまりかけてたみたいだね。

たしかにOOP的にはCanvas->Drawの方がいい記述に思うので、明日にでも書き換えて置こう。


で、Kozuさんといろいろ話していて、

「描く領域の画像をとる」->「描く」->「とった領域を戻す」->「座標移動」

を繰り返せばいいんじゃないかって話になったんだけど、結構ちらつきそうってのがお互いの見解。
試してみれば解るか・・・
近いうちに試してみようと思う。

あと、いろいろ話していると、何でもBuilderのCDにはWindowsAPIの日本語ヘルプが入ってるらしい。
なんと!全然知らなかったよ。マッタク、インストールしてくれればいいものを・・・
さっそく明日会社に行ったら見てみよう。

なんでも、CreateWindowExってAPIを使えば透明のWindowが作れるらしい。
せやけど、VCLでやるなら少なくとも1つのFormがいるんじゃなかったかな・・・
ま、この辺はHide()とかを使えば何とかなるでしょう。
しかし、APIでWindow作っちゃたら、Canvasとか無いからやっぱりかなりめんどくさそうだな・・・
結局BitBltとか使って上から下までとことんAPIになっちゃいそう・・・。

こうなると、ますます、「道」のネタに向かないので、簡単に出来そうになかったら止めておくことにしよう。
それと、さっさとこれも完成させないとね。
来週あたりからDirectDrawをやろうと思う。
しかし、来週は東京上陸の予定だったか・・・


戻る