非矩形のコントロールを作りたいのですが
以下を参考にしてみました。
http://www.microsoft.com/japan/msdn/vs/client/vbtchshapedwindowsformscontrolsinvisualstudionet.asp
これで、フォームも、その上のコントロールも
非矩形のものができたのですが
リージョンを指定する方法以外に
例えばリソース(ビットマップなど)の色を指定することなどで
非矩形のコントロールを実現できないでしょうか?
或いは、リソースを元に
リージョンを指定するような方法をご存知ないでしょうか。
開発環境は.NET2003。言語はC++またはC#です。
.NETではなくWin32アプリケーションでの方法なんですが
http://www.vector.co.jp/soft/win95/prog/se122274.html
これを使えば、ビットマップからRGNDATA構造体をファイルとしてRAW出力できます。この、RGNDATA構造体をGDIのExtCreateRegion関数に渡せばHRGNを得られます。
あと、以前に私が試して途中であきらめた方法なんですが、
System.Drawing.Drawing2D.RegionDataのDataプロパティに
直接、値を設定したりするのはどうですか?
michiさんコメントありがとうございます。参考になります。
まずは前者のソフトを使ってリージョンを取得してみます。
Win32での開発も可能なので手軽そうであればこちらで。
これとは別に
フォームはリソースから手軽に非矩形のウィンドウが作れるので
フォームを複数組み合わせてGUIを作ることも考えてみたのですが
ちょっと作りが煩雑になりそうです^^;
ツイート | ![]() |