COMPONENTE QUE DEIXE O FORM DE ACORDO COM A IMAGEM
Olá pessoal, será que alguém conhece algum componente que tipo possa inserir uma imagem digamos uma png da vida e o form ficar no formato da imagem, pois, até hoje os componentes que vi não fica no formato da imagem.
Citação::
Olá pessoal, será que alguém conhece algum componente que tipo possa inserir uma imagem digamos uma png da vida e o form ficar no formato da imagem, pois, até hoje os componentes que vi não fica no formato da imagem.
Amigo para isso você não precisa de nenhum componente..
Basta definir:
FormBoarderStyle = None
Background color do form = Red
Transparency Key = Red
Daà o form ficará com aparencia que você deixar na imagem num PictureBox por ex..
Como nas imagens abaixo:
Pouts cara desculpa só agora que percebi que é VB hahah achei que fosse .NET, bom mas se algum dia migrar pra .NET WebForms ja sabe como funciona hahaha..
Abraços e boa sorte..
acho que e isso que você precisa.
Oi cara, beleza?
Então, para modificar o formato da janela no VB6, só via API mesmo. Fiz isso a muito tempo pra poder criar um form no formato de um relógio de parede.
Se não me engano, o nome da API é SetWindowRgn...
Abraços!
Então, para modificar o formato da janela no VB6, só via API mesmo. Fiz isso a muito tempo pra poder criar um form no formato de um relógio de parede.
Se não me engano, o nome da API é SetWindowRgn...
Abraços!
Citação::
acho que e isso que você precisa.
Junto com esse activex você pode utilizar um modulo para deixar o formulário transparente tambem
[txt-color=#e80000]no modulo [/txt-color]
Private Declare Function GetWindowLong Lib [Ô]user32[Ô] Alias [Ô]GetWindowLongA[Ô] (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib [Ô]user32[Ô] Alias [Ô]SetWindowLongA[Ô] (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib [Ô]user32[Ô] (ByVal hWnd As Long, ByVal crKey As Long, ByVal bDefaut As Byte, ByVal dwFlags As Long) As Long
Private Const GWL_EXSTYLE As Long = (-20)
Private Const LWA_COLORKEY As Long = &H1
Private Const LWA_Defaut As Long = &H2
Private Const WS_EX_LAYERED As Long = &H80000
[ô]
Public Function Transparency(ByVal hWnd As Long, Optional ByVal Col As Long = vbBlack, _
Optional ByVal PcTransp As Byte = 255, Optional ByVal TrMode As Boolean = True) As Boolean
[ô] Return : True if there is no error.
[ô] hWnd : hWnd of the window to make transparent
[ô] Col : Color to make transparent if TrMode=False
[ô] PcTransp : 0 Ã 255 >> 0 = transparent -:- 255 = Opaque
Dim DisplayStyle As Long
On Error GoTo Exit1
VoirStyle = GetWindowLong(hWnd, GWL_EXSTYLE)
If DisplayStyle <> (DisplayStyle Or WS_EX_LAYERED) Then
DisplayStyle = (DisplayStyle Or WS_EX_LAYERED)
Call SetWindowLong(hWnd, GWL_EXSTYLE, DisplayStyle)
End If
Transparency = (SetLayeredWindowAttributes(hWnd, Col, PcTransp, IIf(TrMode, LWA_COLORKEY Or LWA_Defaut, LWA_COLORKEY)) <> 0)
Exit1:
If Not Err.Number = 0 Then Err.Clear
End Function
Public Sub ActiveTransparency(M As Form, d As Boolean, F As Boolean, _
T_Transparency As Integer, Optional Color As Long)
Dim B As Boolean
If d And F Then
[ô]Makes color (here the background color of the shape) transparent
[ô]upon value of T_Transparency
B = Transparency(M.hWnd, Color, T_Transparency, False)
ElseIf d Then
[ô]Makes form, including all components, transparent
[ô]upon value of T_Transparency
B = Transparency(M.hWnd, 0, T_Transparency, True)
Else
[ô]Restores the form opaque.
B = Transparency(M.hWnd, , 255, True)
End If
End Sub
[txt-color=#e80000]no load do form[/txt-color]
Dim i As Integer
[ô]Ex: all transparent at ratio 140/255
[ô]ActiveTransparency Me, True, False, 140, Me.BackColor
[ô]Ex: Form transparent, visible component at ratio 140/255
[ô]ActiveTransparency Me, True, True, 140, Me.BackColor
[ô]Example display the form transparency degradation
ActiveTransparency Me, True, False, 0
Me.Show
For i = 0 To 255 Step 3
ActiveTransparency Me, True, False, i
Me.Refresh
Next i
lembrando que o formulario tem que esta na cor preta, e não pode ter bordas
[txt-color=#e80000]no modulo [/txt-color]
Private Declare Function GetWindowLong Lib [Ô]user32[Ô] Alias [Ô]GetWindowLongA[Ô] (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib [Ô]user32[Ô] Alias [Ô]SetWindowLongA[Ô] (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib [Ô]user32[Ô] (ByVal hWnd As Long, ByVal crKey As Long, ByVal bDefaut As Byte, ByVal dwFlags As Long) As Long
Private Const GWL_EXSTYLE As Long = (-20)
Private Const LWA_COLORKEY As Long = &H1
Private Const LWA_Defaut As Long = &H2
Private Const WS_EX_LAYERED As Long = &H80000
[ô]
Public Function Transparency(ByVal hWnd As Long, Optional ByVal Col As Long = vbBlack, _
Optional ByVal PcTransp As Byte = 255, Optional ByVal TrMode As Boolean = True) As Boolean
[ô] Return : True if there is no error.
[ô] hWnd : hWnd of the window to make transparent
[ô] Col : Color to make transparent if TrMode=False
[ô] PcTransp : 0 Ã 255 >> 0 = transparent -:- 255 = Opaque
Dim DisplayStyle As Long
On Error GoTo Exit1
VoirStyle = GetWindowLong(hWnd, GWL_EXSTYLE)
If DisplayStyle <> (DisplayStyle Or WS_EX_LAYERED) Then
DisplayStyle = (DisplayStyle Or WS_EX_LAYERED)
Call SetWindowLong(hWnd, GWL_EXSTYLE, DisplayStyle)
End If
Transparency = (SetLayeredWindowAttributes(hWnd, Col, PcTransp, IIf(TrMode, LWA_COLORKEY Or LWA_Defaut, LWA_COLORKEY)) <> 0)
Exit1:
If Not Err.Number = 0 Then Err.Clear
End Function
Public Sub ActiveTransparency(M As Form, d As Boolean, F As Boolean, _
T_Transparency As Integer, Optional Color As Long)
Dim B As Boolean
If d And F Then
[ô]Makes color (here the background color of the shape) transparent
[ô]upon value of T_Transparency
B = Transparency(M.hWnd, Color, T_Transparency, False)
ElseIf d Then
[ô]Makes form, including all components, transparent
[ô]upon value of T_Transparency
B = Transparency(M.hWnd, 0, T_Transparency, True)
Else
[ô]Restores the form opaque.
B = Transparency(M.hWnd, , 255, True)
End If
End Sub
[txt-color=#e80000]no load do form[/txt-color]
Dim i As Integer
[ô]Ex: all transparent at ratio 140/255
[ô]ActiveTransparency Me, True, False, 140, Me.BackColor
[ô]Ex: Form transparent, visible component at ratio 140/255
[ô]ActiveTransparency Me, True, True, 140, Me.BackColor
[ô]Example display the form transparency degradation
ActiveTransparency Me, True, False, 0
Me.Show
For i = 0 To 255 Step 3
ActiveTransparency Me, True, False, i
Me.Refresh
Next i
lembrando que o formulario tem que esta na cor preta, e não pode ter bordas
Tópico encerrado , respostas não são mais permitidas