VB6 - ICONE AO LADO DO RELOGIO DO WINDOWS

CAETANO91 16/05/2010 15:59:52
#341882
ANALISEI, MAS NAO ESTA A FUNCIONAR, SE EU TROCAR O ICONE ELE MUDA NA BARRA EM CIMA, E NÃO NA BARRA DE TAREFAS.
CAETANO91 08/06/2010 10:13:10
#344235
Eu tenho um icone na barra de cima, e queria colocar o mesmo icone na barra do relógio do windows, expliquem-me por favor.
MARCELO.TREZE 08/06/2010 12:03:22
#344256
bom coloque o seguinte código em um módulo

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 NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Const WM_MOUSEMOVE = &H200
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const WM_LBUTTONDBLCLK = &H203 [ô]Double-click
Public Const WM_LBUTTONDOWN = &H201 [ô]Button down
Public Const WM_LBUTTONUP = &H202 [ô]Button up
Public Const WM_RBUTTONDBLCLK = &H206 [ô]Double-click
Public Const WM_RBUTTONDOWN = &H204 [ô]Button down
Public Const WM_RBUTTONUP = &H205 [ô]Button up


Public Declare Function Shell_NotifyIcon Lib [Ô]shell32[Ô] Alias [Ô]Shell_NotifyIconA[Ô] (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean



depois no form principal

Dim nid As NOTIFYICONDATA [ô] Variavel do TrayIcon
[ô]------------------------
[ô]--- Cria o tray icon ---
[ô]------------------------
Sub minimize_to_tray()
Me.Hide
nid.cbSize = Len(nid)
nid.hwnd = Me.hwnd
nid.uId = vbNull
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallBackMessage = WM_MOUSEMOVE
nid.hIcon = Me.Icon [ô] O icone usado será o mesmo do form
nid.szTip = [Ô]Um titulo para o icone[Ô] & vbNullChar
Shell_NotifyIcon NIM_ADD, nid
End Sub


Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim msg As Long
Dim sFilter As String
msg = x / Screen.TwipsPerPixelX
Select Case msg
Case WM_LBUTTONDOWN
Case WM_LBUTTONUP
Case WM_LBUTTONDBLCLK
Me.Show [ô] show form
Shell_NotifyIcon NIM_DELETE, nid [ô] Apaga tray icon
Case WM_RBUTTONDOWN
Case WM_RBUTTONUP
Case WM_RBUTTONDBLCLK
End Select
End Sub


Private Sub Form_Resize()
If Me.WindowState = 1 Then
minimize_to_tray
Me.WindowState = 0
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Shell_NotifyIcon NIM_DELETE, nid [ô] apaga o tray icon
End Sub
CAETANO91 09/06/2010 12:32:21
#344361
Dá erro.

AJUDEM-ME , só tenho uma semana e pouco para acabar isto e é mesmo muito importante
MARCELO.TREZE 09/06/2010 17:10:52
#344405
que erro e onde?
CAETANO91 14/06/2010 09:59:51
#344738
Compile error :

Ambiguous name detected : Form_unload

AJUDEM_ME
MARCELO.TREZE 14/06/2010 11:42:12
#344750
procure no seu código que vc deve ter colocado duas subs Unload do form, e dá esse erro reveja o código todo.

CAETANO91 14/06/2010 19:27:48
#344798
O Código é o seguinte :




Private Sub cmdconfirma_Click()
If txtnome.Text = [Ô]Hotel[Ô] And txtsenha.Text = [Ô]Caetano[Ô] Then
MsgBox [Ô]Senha Correcta[Ô], vbInformation, [Ô]Sessão Iniciada[Ô]
Iniciar.Hide
Inicio.Show
Else
MsgBox [Ô] A informação de acesso que introduziu não existe na nossa base de dados. Por favor, tente novamente[Ô], vbCritical, [Ô]ERRO[Ô]
txtnome.Text = [Ô][Ô]
txtsenha.Text = [Ô][Ô]
txtnome.SetFocus
End If
End Sub
Private Sub cmdfinalizar_Click()
txtnome.Text = [Ô][Ô]
txtsenha.Text = [Ô][Ô]
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Format(Time)
End Sub
Private Sub Form_Unload(Cancel As Integer)
If MsgBox([Ô]Tem a certeza que pretende sair do Programa?[Ô], vbQuestion + vbYesNo, [Ô]Hotel Caetano[Ô]) <> vbYes Then
Cancel = True
End If
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate [Ô]C:    empoagora.html[Ô]
End Sub
Dim nid As NOTIFYICONDATA
Sub minimize_to_tray()
Me.Hide
nid.cbSize = Len(nid)
nid.hwnd = Me.hwnd
nid.uId = vbNull
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallBackMessage = WM_MOUSEMOVE
nid.hIcon = Me.Icon
nid.szTip = [Ô]Um titulo para o icone[Ô] & vbNullChar
Shell_NotifyIcon NIM_ADD, nid
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim msg As Long
Dim sFilter As String
msg = x / Screen.TwipsPerPixelX
Select Case msg
Case WM_LBUTTONDOWN
Case WM_LBUTTONUP
Case WM_LBUTTONDBLCLK
Me.Show
Shell_NotifyIcon NIM_DELETE, nid
Case WM_RBUTTONDOWN
Case WM_RBUTTONUP
Case WM_RBUTTONDBLCLK
End Select
End Sub
Private Sub Form_Resize()
If Me.WindowState = 1 Then
minimize_to_tray
Me.WindowState = 0
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Shell_NotifyIcon NIM_DELETE, nid
End Sub


O que tenho de mudar ?

ROBSON 14/06/2010 19:38:23
#344800

Ola Tecla, eu baixei o codigo e funcionou perfeitamente.
Só não consegui entender com usar apensa 1 Clique para Maximixar o programa (o exemplo usa 2 cliques),
Ou então clicar com o botao direito e surgir um menu com outras oçcoes
Se nao for muito incomodo e voce souber por favor publique neste topico. Sou honesto em admitir que nao pesquisei outros codigo ja que este funciona bem. so falta estes pequenos recursos.


MARCELO.TREZE 15/06/2010 12:36:42
#344869
por isso que eu digo leia o código, veja


Cadast. em 11/03/2010
Mensagem interna


O Código é o seguinte :




Private Sub cmdconfirma_Click()
If txtnome.Text = [Ô]Hotel[Ô] And txtsenha.Text = [Ô]Caetano[Ô] Then
MsgBox [Ô]Senha Correcta[Ô], vbInformation, [Ô]Sessão Iniciada[Ô]
Iniciar.Hide
Inicio.Show
Else
MsgBox [Ô] A informação de acesso que introduziu não existe na nossa base de dados. Por favor, tente novamente[Ô], vbCritical, [Ô]ERRO[Ô]
txtnome.Text = [Ô][Ô]
txtsenha.Text = [Ô][Ô]
txtnome.SetFocus
End If
End Sub

Private Sub cmdfinalizar_Click()
txtnome.Text = [Ô][Ô]
txtsenha.Text = [Ô][Ô]
End Sub

Private Sub Timer1_Timer()
Label1.Caption = Format(Time)
End Sub

[txt-color=#e80000]Private Sub Form_Unload(Cancel As Integer)
If MsgBox([Ô]Tem a certeza que pretende sair do Programa?[Ô], vbQuestion + vbYesNo, [Ô]Hotel Caetano[Ô]) <> vbYes Then
Cancel = True
End If
End Sub[/txt-color]

Private Sub Form_Load()
WebBrowser1.Navigate [Ô]C:    empoagora.html[Ô]
End Sub
Dim nid As NOTIFYICONDATA
Sub minimize_to_tray()
Me.Hide
nid.cbSize = Len(nid)
nid.hwnd = Me.hwnd
nid.uId = vbNull
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallBackMessage = WM_MOUSEMOVE
nid.hIcon = Me.Icon
nid.szTip = [Ô]Um titulo para o icone[Ô] & vbNullChar
Shell_NotifyIcon NIM_ADD, nid
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim msg As Long
Dim sFilter As String
msg = x / Screen.TwipsPerPixelX
Select Case msg
Case WM_LBUTTONDOWN
Case WM_LBUTTONUP
Case WM_LBUTTONDBLCLK
Me.Show
Shell_NotifyIcon NIM_DELETE, nid
Case WM_RBUTTONDOWN
Case WM_RBUTTONUP
Case WM_RBUTTONDBLCLK
End Select
End Sub

Private Sub Form_Resize()
If Me.WindowState = 1 Then
minimize_to_tray
Me.WindowState = 0
End If
End Sub

[txt-color=#e80000]Private Sub Form_Unload(Cancel As Integer)
Shell_NotifyIcon NIM_DELETE, nid
End Sub[/txt-color]


então colega basta excluir esta ultima sub unload e alterar a primeira para

Private Sub Form_Unload(Cancel As Integer)
If MsgBox([Ô]Tem a certeza que pretende sair do Programa?[Ô], vbQuestion + vbYesNo, [Ô]Hotel Caetano[Ô]) <> vbYes Then
Cancel = True
End If
Shell_NotifyIcon NIM_DELETE, nid
End Sub



colega leia o código analize o que está fazendo
Página 2 de 3 [24 registro(s)]
Tópico encerrado , respostas não são mais permitidas