|
|
|
|
|
Dicas
|
|
Visual Basic (Forms/MDI)
|
|
|
Título da Dica: Criando um Form em forma de Estrela (Polígono)
|
|
|
|
Postada em 14/8/2000 por Webmaster
webmaster@vbweb.com.br
Essa API possibilita a criação de um Form de qualquer forma poligonal. Até hoje eu só vi o 4 programas com formulários diferentes: O Vibe MP3player 3D, Norton CrashGuard, Norton Utilities 3 e o RomSoft Photo Collection 10000. O uso de polígonos é mais complexo que os outros métodos de criação de Forms citados anteriormente. Veja o Exemplo, que cria um formulário na forma de uma estrela de quatro pontas:
'No Declarations: Option Base 1 Private Declare Function CreatePolygonRgn Lib _ "gdi32" (lpPoint As POINTAPI, ByVal nCount _ As Long, ByVal nPolyFillMode As Long) _ As Long Private Declare Function SetWindowRgn Lib "user32" _ (ByVal hwnd As Long, ByVal hRgn As Long, _ ByVal bRedraw As Boolean) As Long
Private Type POINTAPI X As Long Y As Long End Type
'No evento Form_Load:
Private Sub Form_Load() Dim Pontos(8) As POINTAPI 'Cria uma matriz de 8 Pontos Dim RGN As Long Me.Width = 1500 Me.Height = 1500 'Determina as oito coordenadas de uma estrela de 'quatro pontas (em Pixel) Pontos(1).X = 0 Pontos(1).Y = 0 Pontos(2).X = 50 Pontos(2).Y = 25 Pontos(3).X = 100 Pontos(3).Y = 0 Pontos(4).X = 75 Pontos(4).Y = 50 Pontos(5).X = 100 Pontos(5).Y = 100 Pontos(6).X = 50 Pontos(6).Y = 75 Pontos(7).X = 0 Pontos(7).Y = 100 Pontos(8).X = 25 Pontos(8).Y = 50 RGN = CreatePolygonRgn(Pontos(1), 8, 0) SetWindowRgn Me.hwnd, RGN, True End Sub A API CreatePolygonRgn possui os seguintes parâmetros * Pontos(1) => Primeiro elemento da matriz * 8 => Número de vértices do polígono (Elementos da matriz) * 0 => Como ficaria o polígono se as suas linhas se sobrepossem (0 ou 1)
|
|
|
|
|