DESAFIO. COMO CRIAR UM BOTAO REDONDO NO VB6.
Pessoal, estou tentando criar uns botão redondos no meu prg mas está dificil... não encontro nada de valha a pena estudar usar... os ilustrissimos teriam alguma dica como fazer??? Conto com vocês. Muito obrigado desde já.
Amigo é o seguinte, para criar um botão redondo ou elÃÂÂptico basta refazer a região. Então basta usar isso:
agora em seu componente chame a função DrawEllipse passando os parâmetros de posição tamanho e cores, porém Width e Height devem ser iguais para que seja um cÃÂÂrculo. Tenta ai e me fala abraços.
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Private Declare Function Ellipse Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long
Private Const PS_SOLID = 0
Private Sub DrawEllipse(ByVal X As Long, ByVal Y As Long, ByVal Width As Long, ByVal Height As Long, ByVal BorderColor As Long, ByVal FillColor As Long)
Dim pBrush As Long, pPen As Long
pBrush = SelectObject(hdc, CreateSolidBrush(FillColor))
pPen = SelectObject(hdc, CreatePen(PS_SOLID, 2, BorderColor))
Call Ellipse(hdc, X, Y, X + Width, Y + Height)
Call DeleteObject(SelectObject(hdc, pBrush))
Call DeleteObject(SelectObject(hdc, pPen))
End Sub
agora em seu componente chame a função DrawEllipse passando os parâmetros de posição tamanho e cores, porém Width e Height devem ser iguais para que seja um cÃÂÂrculo. Tenta ai e me fala abraços.
kra faz com imagens
xD
ai vc faz uma imagem normal uma para quando passa o mouse para quando clica
fica bem legal
xD
ai vc faz uma imagem normal uma para quando passa o mouse para quando clica
fica bem legal
mas o que vc precisa é recorta em formato circular:
Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As _
Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd _
As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Agora no form load:
Dim hr&, dl&
Dim usew&, useh&
usew& = me.Width / Screen.TwipsPerPixelX
useh& = me.Height / Screen.TwipsPerPixelY
x = 0
hr& = CreateEllipticRgn(0, 0, usew, useh) 'Faz a _
'forma da janela numa forma de um cÃÂÂrculo descrito por x1,y1,x2,y2
dl& = SetWindowRgn(me.hWnd, hr, True)
nesse exemplo o form é recortado em formato circular
Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As _
Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd _
As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Agora no form load:
Dim hr&, dl&
Dim usew&, useh&
usew& = me.Width / Screen.TwipsPerPixelX
useh& = me.Height / Screen.TwipsPerPixelY
x = 0
hr& = CreateEllipticRgn(0, 0, usew, useh) 'Faz a _
'forma da janela numa forma de um cÃÂÂrculo descrito por x1,y1,x2,y2
dl& = SetWindowRgn(me.hWnd, hr, True)
nesse exemplo o form é recortado em formato circular
Tópico encerrado , respostas não são mais permitidas