Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 9 su 9

Cambiare icona alle singole maschere di Access2010

  1. #1
    federicodi84 non  in linea Scolaretto
    Salve, mi sono iscritto da poco al forum, avrei l'esigenza di modificare l'icona delle maschere, quella vicino al titolo. Ho seguito il codice di un thread di qualche tempo fa
    codice HTML:
    http://forum.masterdrive.it/access-79/cambiare-piccola-icona-fianco-titolo-maschera-access-58057/index2.html
    . Seguo tutti i passaggi, infatti creo un nuovo modulo (Modulo1) ed inserisco questo codice:
    Public Declare Function LoadImage Lib "user32" _
    Alias "LoadImageA" _
    (ByVal hInst As Long, _
    ByVal lpsz As String, _
    ByVal un1 As Long, _
    ByVal n1 As Long, _
    ByVal n2 As Long, _
    ByVal un2 As Long) _
    As Long
    
    Public Declare Function SendMessage Lib "user32" _
    Alias "SendMessageA" _
    (ByVal hWnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    LParam As Any) _
    As Long
    
    Public Const LR_LOADFROMFILE = &H10
    Public Const IMAGE_BITMAP = 0
    Public Const IMAGE_ICON = 1
    Public Const WM_SETICON = &H80
    
    Public Function ImpostaCaptionBarImage(hWnd As Long, IconPath As String) As Boolean
    Dim IcohWnd As Long
    
    hIcon = LoadImage(0&, IconPath, IMAGE_ICON, 16, 16, LR_LOADFROMFILE)
    
    If IcohWnd <> 0 Then
    Call SendMessage(hWnd, WM_SETICON, 0, ByVal IcohWnd)
    ImpostaCaptionBarImage= True
    End If
    End Function
    
    Poi nella maschera nell'evento su caricamento metto il seguente codice:

    Call ImpostaCaptionBarImage(Me.hWnd,"C:\NomePath\NomeFi leIco.Ico")
    
    ovviamente modifico "C:\NomePath\NomeFileIco.Ico" con il path del mio file.ico
    Se potete indicarmi dove sbaglio mi fareste un grande piacere. Grazie in anticipo per la pazienza buona serata

  2. #2
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Cosa c' che non funziona..?
    Hai win64 bit o 32..?
    ℹ️ Leggi di pi su @Alex ...

  3. #3
    federicodi84 non  in linea Scolaretto
    Non funziona nel senso che rimane l'icona standard della maschera e non inserisce quella che ho creato io (file.ico 16x16 pixel) con photoshop. Ho windows 7 a 32 bit e access 2010. Non so dove sia l'inghippo....

  4. #4
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    L'errore che commetti veramente BANALE... ma comprendo si possa non vedere ma se usassi OPTION EXPLICIT, il DEBUG con il COMPILA... ti verrebbe segnalato...!!!

    Il codice corretto funziona regolarmente sulla versione A2010.

    Hai dichiarato una variabile e poi ne usi un'altra non dichiarata
    Dim IcohWnd As Long
    
    hIcon= LoadImage(0&, IconPath, IMAGE_ICON, 16, 16, LR_LOADFROMFILE)
    
    Correggi la 2 con la 1 e vedrai che fuunziona...
    ℹ️ Leggi di pi su @Alex ...

  5. #5
    federicodi84 non  in linea Scolaretto
    Grazie per la dritta ma ancora non fuziona... nel modulo ho inserito questo codice
    Public Declare Function LoadImage Lib "user32" _
    Alias "LoadImageA" _
    (ByVal hInst As Long, _
    ByVal lpsz As String, _
    ByVal un1 As Long, _
    ByVal n1 As Long, _
    ByVal n2 As Long, _
    ByVal un2 As Long) _
    As Long
    
    Public Declare Function SendMessage Lib "user32" _
    Alias "SendMessageA" _
    (ByVal hWnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    LParam As Any) _
    As Long
    
    Public Const LR_LOADFROMFILE = &H10
    Public Const IMAGE_BITMAP = 0
    Public Const IMAGE_ICON = 1
    Public Const WM_SETICON = &H80
    
    Public Function ImpostaCaptionBarImage(hWnd As Long, IconPath As String) As Boolean
    Dim IcohWnd As Long
    
     IcohWnd = LoadImage(0&, IconPath, IMAGE_ICON, 16, 16, LR_LOADFROMFILE)
    
    If IcohWnd <> 0 Then
    Call SendMessage(hWnd, WM_SETICON, 0, ByVal IcohWnd)
    ImpostaCaptionBarImage = True
    End If
    End Function
    
    e sull'evento caricamento della maschera questo
    Call ImpostaCaptionBarImage(Me.hWnd, "C:\Path\Login.ico")
    
    ma niente la maschera non cambia l'icona... Se puoi darmi ulteriori consigli... Grazie per l'aiuto e la pazienza

  6. #6
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Da me funziona regolarmente... non saprei cosa aggiungere.
    Verifica l'ICONA a quel punto, verifica il valore [IcohWnd] con il DEBUG che effettivamente sia >0...
    ℹ️ Leggi di pi su @Alex ...

  7. #7
    federicodi84 non  in linea Scolaretto
    Ho fatto una prova in un nuova database ed effettivamente funziona... ma non capisco perch nel database originale non funziona... Nel databese originale nella funzione Form_Load() ho anche altri parametri, infatti cambio il nome della maschera ed ho disabilitato il tasto SHIFT... non che questo pu creargli dei problemi??

  8. #8
    federicodi84 non  in linea Scolaretto
    Risolto avevo una parte di codice scritto male... grazie per l'aiuto sei stato veramente preciso e veloce... per un altro problema devo aprire un altro Thread o posso scrivere qui??

  9. #9
    Ovviamente non puoi scrivere qui dato che ogni thread ha un titolo e una sua storia.
    ℹ️ Leggi di pi su AntonioG ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Cambiare la disposizione dei div in base alle media query
    Da Domenico_Falco1 nel forum HTML, CSS e JavaScript
    Risposte: 6
    Ultimo Post: Ieri, 12:11
  2. Cambiare icona a cartella
    Da henry63 nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 25-03-2016, 13:44
  3. [ACCESS2010] Come accedere alle caratteristiche di un file in VBA
    Da il Fenomeno nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 04-01-2013, 19:39
  4. cambiare colore alle righe della casella di riepilogo
    Da scrok nel forum Microsoft Word
    Risposte: 4
    Ultimo Post: 27-02-2012, 17:38
  5. Maschere non associate alle tabelle
    Da Pico nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 07-07-2005, 23:10