IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Profondeur de couleur d'un contrôle CtrlImageListe dans Access en VBA


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Profondeur de couleur d'un contrôle CtrlImageListe dans Access en VBA
    Bonjour à tous, après plusieurs mois d'admiration sur la qualité et l’exhaustivité du site je décide de me lancer...

    Dans une application Access que je développe je rencontre le problème suivant. J'ai un formulaire utilisant un Treeview qui s'appui pour les icônes sur un contrôle CtrlImageListe selon une démarche très largement décrite dans les forum du site (merci à tous ++++). Pour des raison de maintenance et de mise à jour, j'ai besoin d'approvisionner le CtrlImageListe en question avec des nouvelles images externes à la base ou à partir d'images déja présente sur le fomulaire dans des Contrôle Image.

    Je parviens parfaitement à charger mes images par itérations manuelles de l'interfaces du CtrlImageListe en mode design dans le formulaire. Les images sont des icones 64x64 de profondeur de couleur 16 ou 24 bits. Mais dès que je passe en VBA pour le faire de manière plus exhaustive depuis une table contenant les URL des icones (ex: "c:\temp\icone1.ico") les images sont incorporées avec une profondeur de seulement 4bits (16 couleurs). Je ne parviens pas à paramétrer la fonction loadpicture qui assigne (je pense) l'image dans CtrlImageListe. J'execute une commande de type

    "Forms(strNameFormConteneur).Controls(strCtrlListeImage).ListImages.Add i, rs.Fields("TW_ICON_NAME").Value, LoadPicture(strURL_ICON)".

    Voici mon code (soyer indulgents, je débute et certaines règles de formalisation me sont inconnues).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Public Function CHARGER_IMAGE_DANS_CtrlImageListe_DEPUIS_TABLE_T_TW_ICONES(strNameFormConteneur As String, strCtrlListeImage As String, lgTailleIcon As Long)
     
    Dim i As Long
    Dim rs As DAO.Recordset
    Dim strSQL As String
    Dim strURL_ICON As String
     
     
    i = 0
     
    strSQL = "SELECT T_TW_ICONES.TW_ICON_NAME, T_TW_ICONES.ICON_URL, T_TW_ICONES.TAILLE "
    strSQL = strSQL + "FROM T_TW_ICONES "
    strSQL = strSQL + "WHERE (((T_TW_ICONES.TAILLE)=" & lgTailleIcon & "));"
     
    Set rs = CurrentDb.OpenRecordset(strSQL)
     
     
    DoCmd.OpenForm strNameFormConteneur, acDesign
     
    Forms(strNameFormConteneur).Controls(strCtrlListeImage).ListImages.Clear
    Forms(strNameFormConteneur).Controls(strCtrlListeImage).ImageWidth = lgTailleIcon
    Forms(strNameFormConteneur).Controls(strCtrlListeImage).ImageHeight = lgTailleIcon
    Forms(strNameFormConteneur).Controls(strCtrlListeImage).UseMaskColor = False
     
    While Not rs.EOF
      i = i + 1
      strURL_ICON = rs.Fields("ICON_URL").Value
      Forms(strNameFormConteneur).Controls(strCtrlListeImage).ListImages.Add i, rs.Fields("TW_ICON_NAME").Value, LoadPicture(strURL_ICON)
      rs.MoveNext
    Wend
     
    MsgBox i & " images chargées"
     
    DoCmd.Close acForm, strNameFormConteneur, acSaveYes
     
    Set rs = Nothing
     
    End Function
    -Existe-t-il une syntaxe de Loadpicture fonctionnant dans cette environnement Access permettant de gérer la profondeur de couleur ? La syntaxe proposée par MSDN " ex: LoadPicture("PAPER.CUR", vbLPCustom, vbLPColor, 32, 32) " ne me semble pas fonctionnelle dans mon cas (problème d'environnement ?).
    -Peut-on alimenter le CtrlImageListe par une méthode autre ne passant pas par la fonction loadpicture () et notament à partir d'une image présente dans un controle Image situé sur le même formulaire en mode design.

    Cordialement.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Attention à l'utilisation des OCX issus de VB6.

    1) ils ne sont plus maintenus.
    2) ils sont soumis à licence.
    3) ils peuvent à tout instant (après une mise à jour) ne plus fonctionner.
    4) il me semble qu'en 64 bits ils ont quelques problèmes déjà.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/01/2017, 11h52
  2. Insérer le contrôle calendrier dans access 2013
    Par kbrice dans le forum Access
    Réponses: 2
    Dernier message: 28/04/2015, 19h27
  3. [AC-2003] Transfert Fichier Texte dans ACCESS depuis vba Excel
    Par pio_killer dans le forum VBA Access
    Réponses: 17
    Dernier message: 17/11/2009, 12h49
  4. Réponses: 5
    Dernier message: 24/03/2008, 19h49
  5. Contrôle ActiveX dans Access
    Par Mahefasoa dans le forum Access
    Réponses: 4
    Dernier message: 09/08/2006, 10h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo