COMPONENTE QUE DEIXE O FORM DE ACORDO COM A IMAGEM

TRTNCG 24/11/2016 04:36:03
#469196
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.
MESTRE 24/11/2016 07:30:02
#469197
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..
FABRICIOWEB 24/11/2016 09:03:40
#469201
Resposta escolhida
acho que e isso que você precisa.
DS2T 24/11/2016 09:03:46
#469202
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!
FABRICIOWEB 24/11/2016 09:07:01
#469203
Citação:

:
acho que e isso que você precisa.



FABRICIOWEB 25/11/2016 09:03:41
#469223
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


Tópico encerrado , respostas não são mais permitidas