Ok...ora posto tutto,spero possiate aiutarmi.
Questo è il mio MDIForm_Load:
Questo è invece il mio modulo.bas con la funzione:codice:Private Sub MDIForm_Load() trasparenza = 255 ' Imposto la trasparenza al massimo ImpostaToolBar tbTop, iml16a ',iml16, Non usare in quanto cambia le immagini inserite con quelle di iml16! Dim rs As ADODB.Recordset Dim sSQL As String CIni.FinestraLeggiPosizione Me ' così posso usare l'Imagelist in tutto il progetto ' riferendomi solamente alla varibali oggetto 'IML' Set IML = iml16 sb.Panels("user").Tag = gsUserName sb.Refresh InitTrayIcon picTray, picTray.Picture, Me.Caption '---Sto provando ad attivare un panello di comando. '---Pannello attivo,ora aggionare ad ogni cambio utente. '---Problema Risolto. Me.sb.Panels(1).Text = gsUserName If gsUserName = "Administrator" Then ElseIf gsUserName = "administrator" Then frmMain.Smmodifica.Visible = True Else frmMain.Smmodifica.Visible = False End If End Sub
Ok.Ora se lo lascio così mi da questi errori:codice: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 GestPwd As NOTIFYICONDATA 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_LBUTTONDOWN = &H201 'Button down Public Const WM_LBUTTONUP = &H202 'Button up Public Const WM_LBUTTONDBLCLK = &H203 'Double-click Public Const WM_RBUTTONDOWN = &H204 'Button down Public Const WM_RBUTTONUP = &H205 'Button up Public Const WM_RBUTTONDBLCLK = &H206 'Double-click Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Public Function HyperJump(ByVal URL As String) As Long HyperJump = ShellExecute(0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus) End Function Public Sub InitTrayIcon(callback As Object, icon As IPictureDisp, testo As String, f As Form) Rem Il form DEVE essere visibile prima di chiamare la Shell_NotifyIcon With GestPwd .cbsize = Len(GestPwd) .hwnd = callback.hwnd .uid = vbNull .uflags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE .ucallbackmessage = WM_MOUSEMOVE .hicon = icon.Handle .sztip = testo & vbNullChar End With gbIconInTray = True Shell_NotifyIcon NIM_ADD, GestPwd End Sub
in MDIForm_Load() quando arriva a "InitTrayIcon..." mi dice argomento non facoltativo.
Allora ho provato a fare così:
E mi dice che callback è una variabile non definita.codice:Call InitTrayIcon(callback, icon, testo, f)
se la dichiaro con
Dim callback as object
dim t as string
dim f as form
alla fine mi da l'errore "91" che sarebbe quello che ho fatto vedere prima in figura.
Mi sai aiutare?penso di aver fatto un casino!!
l'errore 91 si riferisce alla funzione InitTrayIcon ed esattamente a
.hwnd = callback.hwnd
Cosa devo fare?

Rispondi quotando