ProSystem
Caros Usuarios, a ProSystem mudou de Host agora o novo Fórum é

www.procheats.ipbfree.com

Acessem e ajudem o Fórum a Crescer!

Att.MetaL

[Tutorial] Alerta Estilo Caixa de MSN.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Tutorial] Alerta Estilo Caixa de MSN.

Mensagem por MetaL em Dom Set 27, 2009 2:51 pm

◘ Descrição ◘

Vocês já viram quando alguem entra no MSN sobre a janelinha né, ou quando algum programa está expirando, é simples, porem o código é complexo pois tem seus efeitos,
então vamos lá;
◘ Script ◘◘ Descrição ◘

Vocês já viram quando alguem entra no MSN sobre a janelinha né, ou quando algum programa está expirando, é simples, porem o código é complexo pois tem seus efeitos,
então vamos lá;
◘ Script ◘

No Form1 Adicione;
1 Botão.
com o seguinte código:
Código:
AcionaAviso ("SEUTEXTOAQUI")

No Form2, Na Propiedade BORDERSTYLE: 0-none;
1 Label: é nele que vai aparecer o texto do Editado no Botão do form1, ou seja; você
pode editar diretamente no Label ou pelo Botão.

1 PictureBox
com o seguinte código;
Código:
Me.Hide

OBS: é apenas para quando alguem clicar na janela o pop-up se fechar,
se quiser basta adicionar uma Imagem, com o botão X. e adicionar esse código

Declare:
o seguinte código;
Código:
Private Declare Function GetSystemMetrics& Lib "user32" (ByVal nIndex As Long)
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Const SM_CXFULLSCREEN = 16 
Const SM_CYFULLSCREEN = 17 
Const SND_NODEFAULT = &H2
Const SND_LOOP = &H8
Const SND_NOSTOP = &H10
Const HWND_TOPMOST = -1
Const SWP_SHOWWINDOW = &H40

OBS: As Const, está definindo a posição da jenale no monitor, ou seja aparecer estilo MSN,
e as de baixo é para o outro form, ficar sempre em cima

Declare Também:
o seguinte código;
Código:
Public Sub DisplayAlert(Messagem As String, Duracao As Long)
Dim wFlags As Long, X As Long
    AlertCount = AlertCount + 1
    AlertIndex = AlertCount
    label1.Caption = Messagem
    Timer2.Interval = Duracao
    Tx = GetSystemMetrics(SM_CXFULLSCREEN)
    Ty = GetSystemMetrics(SM_CYFULLSCREEN)
    lngScaleX = Me.Width - Me.ScaleWidth
    lngScaleY = Me.Height - Me.ScaleHeight
    Me.Height = 90
    Me.Width = Picture1.Width + lngScaleX
    Me.Left = Tx * Screen.TwipsPerPixelX - Me.Width
    Me.Top = (Ty * Screen.TwipsPerPixelY) - ((Picture1.Height + lngScaleY) * (AlertCount - 1)) + 300
    Me.Show
    Timer3.Enabled = True
End Sub

No Form, Evento LOAD
o seguinte código;
Código:

Dim retValue As Long
    retValue = SetWindowPos(Me.hWnd, HWND_TOPMOST, 0, 0, 22000, 22000, SWP_SHOWWINDOW)

Adicione agora 3 TIMER

Timer1, Interval 10, Enable: FALSE
com o seguinte código;
Código:
Unload Me

Timer2, Interval 5000, Enable: FALSE
com o seguinte código;
Código:
 Timer2.Enabled = False
    Timer1.Enabled = True

Timer3, Interval 10, Enable: FALSE
com o seguinte código;
Código:
Dim PosFinal As Long
Dim PosInicial As Long
    PosFinal = Me.Height
    If PosFinal < Picture1.Height + lngScaleY Then
        PosFinal = PosInicial + 30
        Me.Height = Me.Height + (PosFinal - PosInicial)
        Me.Top = Me.Top - (PosFinal - PosInicial)
    Else
        Timer3.Enabled = False
        Timer2.Enabled = True
    End If

Agora, em um Modulo adicione
Código:
 Public Sub AcionaAviso(Text As String)
Dim AlertBox As Form2
    Set AlertBox = New Form2
    AlertBox.DisplayAlert Text, 16000
End Sub

Pronto!
End Of Code!

Flws gente até a proxima.

_________________
Sign OLD By : MetaL


MetaL
Administrador
Administrador

Mensagens : 89
Pontos : 2147483647
Reputação : 9
Data de inscrição : 27/08/2009
Idade : 21
Localização : C:\WINDOWS\system32

http://www.prosystem.forumeiros.com./

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum