青柳臣一 blog : .NET や C# がメインの blog

.NET や C# がメインの blog
投稿数 - 548, コメント - 272, トラックバック - 205

非矩形のウインドウ Windows.Forms/WPF

Creating Non-Rectangular Splash Screen - using Alpha Channel
Windows.Forms のフォームでレイヤードウインドウにするサンプルコードが紹介されています。レイヤードウインドウっていうのは、ウインドウスタイルに WS_EX_LAYERED を追加しておいて UpdateLayeredWindow API を使ってビットマップを指定してやればウインドウをそのビットマップの形にできるという機能です。ちなみに、レイヤードウインドウは Windows 2000 以降でサポートされています。
ただ、別にレイヤードウインドウを使わなくても GraphicsPath を使えばほとんど同じことができると思いますけど (「四角くないフォームを作る方法」 とか)

Part II : Creating Non-Rectangular Splash Screen - using WPF
WPF で四角くないウインドウを作るコードが紹介されています。HwndSourceParameters で名称と幅、高さを指定しておいて HwndSource で WPF なウインドウが生成できるということかな?(最初の HwndSourceParameters s = new HwndSourceParameters("visual"); っていうのは消し忘れだと思う。いらないんじゃないかな) で、XamlReader を使って .xaml を読み込んでそのウインドウの中身を指定してあげると。へぇ、こんなことができるんだなぁ。

Part III: Non-Rectangular Window in WPF (use of Thumb)
さらに上記の WPF な四角くないウインドウを Thumb を使ってドラッグで移動できるようにするコードが紹介されています。ついでに今度は .xaml を読み込むんじゃなくて XAML に相当する内容をコードで作っているみたいですね。

投稿日時 : 2006年3月6日 16:51

トラックバックは下記のURLにpingを送信してください。
TrackBack URL: http://www.divakk.co.jp/blog/aoyagi/services/trackbacks/7152.aspx

フィードバック

# WPFでニコニコ動画のコメント風表示

WPFでニコニコ動画のコメント風表示
2008/03/21 13:21 | katamari.wankuma.com (トラックバック)

コメントの投稿

タイトル  
名前  
URL
コメント   
Protected by Clearscreen.SharpHIPこの絵に表示されている文字列を入力してください (半角で4文字です):