1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Para quem entende de Visual Basic 6

Discussão em 'Programação' iniciada por hugo_brito, 27 de Julho de 2007. (Respostas: 4; Visualizações: 1416)

  1. :arrow:gostava de saber como fazer para quando se fecha um programa ou se clica num "command" ele va para o system try e quando se clicar duas vezes ele abre de novo????
    :003:
     
  2. RPortela

    RPortela Power Member

    Boas,

    Para isso poderás usar módulos ou ocx.

    Em ambos os casos, basta ires ao google e pesquisar por "systray vb6", poderás também procurar no vbmania, e noutros sites de armazenamento de código.
     
  3. Nobau

    Nobau Suspenso

    Tens aqui um exemplo que funciona na perfeição


    Public Declare Function Shell_NotifyIcon Lib _
    "shell32.dll" Alias "Shell_NotifyIconA" _
    (ByVal dwMessage As Long, lpData As _
    NOTIFYICONDATA) As Long

    Public Type NOTIFYICONDATA
    cbSize As Long
    Hwnd As Long
    uID As Long
    uFlags As Long
    uCallbackMessage As Long
    hIcon As Long
    szTip As String * 64
    End Type

    Public Const WM_LBUTTONDOWN = &H201
    Public Const WM_LBUTTONDBLCLK = &H203
    Public Const WM_RBUTTONDOWN = &H204
    Public Const WM_RBUTTONDBLCLK = &H206

    Public Const NIM_ADD = &H0
    Public Const NIM_DELETE = &H2
    Public Const NIM_MODIFY = &H1
    Public Const NIF_ICON = &H2
    Public Const NIF_MESSAGE = &H1
    Public Const NIF_TIP = &H4

    Public Enum Actions
    TrayAdd = &H0
    TrayModify = &H1
    TrayDelete = &H2
    End Enum

    Public Sub SysTray(Action As Actions, Hwnd As _
    Long, ToolTip As String, Icon As _
    StdPicture)
    Dim STray As NOTIFYICONDATA
    STray.uID = vbNull
    STray.uCallbackMessage = &H200
    STray.Hwnd = Hwnd
    STray.hIcon = Icon
    STray.szTip = ToolTip & vbNullChar
    STray.uFlags = NIF_MESSAGE Or NIF_ICON Or _
    NIF_TIP
    STray.cbSize = Len(STray)
    Select Case Action
    Case NIM_ADD
    Call Shell_NotifyIcon(NIM_ADD, STray)
    Case NIM_MODIFY
    Call Shell_NotifyIcon(NIM_MODIFY, STray)
    Case NIM_DELETE
    Call Shell_NotifyIcon(NIM_DELETE, STray)
    End Select
    End Sub

    'No Form, coloque o seguinte código:

    Private Sub Form_Resize()
    If Me.WindowState = 1 Then
    Call SysTray(TrayAdd, Me.Hwnd, Me.Caption, _
    Me.Icon)
    End If
    End Sub

    Private Sub Form_MouseMove(Button As Integer, _
    Shift As Integer, X As Single, Y As _
    Single)
    Dim Msg As Long
    If (Button + Shift + Y) = 0 Then
    Msg = X / Screen.TwipsPerPixelX
    Select Case Msg
    Case WM_LBUTTONDOWN
    'Coloque aqui a rotina a ser executada
    'quando ocorrer um clique com o botão
    'esquerdo no icon do System Tray.
    Case WM_LBUTTONDBLCLK
    'Coloque aqui a rotina a ser executada
    'quando ocorrer um duplo clique com o
    'botão esquerdo no icon do System Tray.
    'Neste exemplo, a janela será restaurada
    'e o ícone retirado so System Tray.
    Me.WindowState = 0
    Call SysTray(TrayDelete, Me.Hwnd, _
    Me.Caption, Me.Icon)
    Me.SetFocus
    Case WM_RBUTTONDOWN
    'Coloque aqui a rotina a ser executada
    'quando ocorrer um clique com o botão
    'direito do rato no icon do System Tray.
    Case WM_RBUTTONDBLCLK
    'Coloque aqui a rotina a ser executada
    'quando ocorrer um duplo clique com o
    'botão direito do rato no icon do System
    'Tray.
    End Select
    End If
    'Se você precisar colocar algum outro código neste
    'evento, pode coloca-lo aqui sem maiores problemas.
    End Sub

    Cumprimentos,
     
  4. este código ja tinha visto mas k codigo escrevo quando diz o k fazer quando se clica duas vezes no icon
    e outra se minimizares o programa ele fica minimizado e tanbem no system try eu keria so no system try

    mesmo assim brg pelas respostam
     
  5. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Sem certezas ... na mesma função onde o colocas no tray, acrescenta um Me.Hide. Quando, pelo tray, chamas o programa, acrescenta um Me.Show.
     

Partilhar esta Página