Vytvořit nový projekt aplikace Visual Basic . Program lze spustit malování tlačítko , které lze provést pomocí " AddEllipse " třída . Zadejte následující příkaz do okna Visual Basic :
Dimjako nový System.Drawing.Drawing2D.GraphicsPath
recRegion = Nové RectangleF ( 0 , 0 , Me.Width , Me.Height )
a.AddEllipse ( recRegion )
Me.Region = New kraj ()
2
Nakreslete hrany tlačítek . Chcete-li zajistit , jsou vypracovány hladké křivky , nastavte SmoothingMode vlastnost Vyhlazení . Zadejte následující kód do jazyka Visual Basic okna :
Dim p1 Jak Pen br Dim p2 PEN
recBorder = Nové RectangleF ( 1 , 1 , Me.Width - 2 , Me.Height - 2 )
" Tato linka je velmi důležité mít hladké křivky
g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias br . " Nyní se musíme nakreslit 3D efekt
.
g.DrawArc ( p1 , recBorder , 180 , -180 )
g.DrawArc ( p2 , recBorder , 180 , 180 )
3
Umístěte textový popisek uvnitř tlačítko a napište hlavní regulační smyčku , zda bylo stisknutotlačítko . Zadejte následující kód do jazyka Visual Basic okna :
" . Změřte velikost String to centralizovat
" Je-liobraz je přítomen , text je vypracován vedle ikony <. br>
Dim Velikost písma Jak SizeF = g.MeasureString ( Me.Text , Me.Font )
" Pokud jemyš stisknutí kreslit text a obrázek , je-li k dispozici ,
" posunul 2 pixely vpravo simulovat 3D efekt
Pokud Me.mousePressed Pak br -li Me._Image není nic Pak br g.DrawString ( Me.Text , Me.Font , stringBrush , _ br ( ( ( Me.Width + 3 ) - textSize.Width ) /2 ) + 2 , _ br ( ( ( Me.Height + 2 ) - textSize.Height ) /2 ) + 2 )
Else
Dim pt As New Point ( ( ( Me.Width + 3 ) /12 ) + 1 , _ br ( ( Me.Height +2 - 16) /2 ) + 1 ) br Dim recString As New Rectangle ( pt , New Size ( 16 , 16 ) )
g.DrawImage ( _Image , recString )
g.DrawString ( Me.Text , Me.Font , stringBrush , _
recString.X + recString.Width + 3 , br ( ( ( Me.Height + 2 ) - textSize.Height ) /2 ) + 2 )
End If Else
br -li Me._Image není nic Pak br g.DrawString ( Me.Text , Me.Font , stringBrush , _ br ( ( ( Me.Width + 3 ) - textSize.Width ) /2 ) , _
( ( ( Me.Height + 2 ) - textSize.Height ) /2 ) )
Else
Dim pt As New Point ( ( Me.Width + 3 ) /12 , ( Me.Height +2 - 16) /2 )
Dim recString Jak new Rectangle ( pt , New Size ( 16 , 16 ) )
g.DrawImage ( _Image , recString )
g . DrawString ( Me.Text , Me.Font , stringBrush , _ br recString.X + recString.Width + 3 , br ( ( ( Me.Height + 2 ) - textSize.Height ) /2 ) )
End If End If
4
Uložte program a spusťte program . Okno by se pop-up s řadou kruhových a eliptických tlačítek .