画像の形(自由な形)のフォームを作成 (SNo.089) | |
使用コントロール | Form1 |
その他条件 | WindowsXP(Vista) Visual Basic 2005(VB2008) 別途フォームの形にしたい画像ファイルが必要(背景色の部分を切り取るのでそのような画像ファイルを準備するか、透過色処理をしたGIFファイル) |
★ 画像の形(自由な形)のフォームを作成
Private Sub Form1_Load(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles MyBase.Load '------- フォームを境界線無しに設定して透明に ---------- Me.FormBorderStyle = FormBorderStyle.None 'フォーム全体を透明に設定 TransparencyKey = Me.BackColor Dim bm As Bitmap = New Bitmap("gara.bmp") 'これがないと消えてしまいます。 Me.Refresh() '---------- 背景を透明にしてビットマップを表示 --------- 'ビットマップの透明色を指定(ブルー) bm.MakeTransparent(Color.Blue) 'Graphics オブジェクトを作成 Dim g As Graphics = Me.CreateGraphics '指定した位置にImage オブジェクトを描画 g.DrawImage(bm, 10, 10) 'リソースを解放します g.Dispose() bm.Dispose() End Sub |
|
フォームを枠なしで、透明で表示し、その後バックの色を透過色にして(コードで)ビットマップファイルを表示する事で、上記のようにイラストの形のフォームができます。 上記は、フォームを移動するのに SendMessage APIを使っております。 又、ついでに、丸い形のボタンも作って表示しております。 その辺は、投稿コードでは削除しております。 |