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

Lazarus Pascal Discussion :

Affecter une image d'un TImageList à un bouton [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut Affecter une image d'un TImageList à un bouton
    Bonjour à toutes et à tous,

    Me voilà bien en peine, je n'ai pas trouvé le moyen d'affecter une des images contenues dans un TImageList à un TSpeedButton. Voilà ce que j'ai essayé sans succès :

    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
    procedure TForm1.FormCreate(Sender: TObject);
    var
      i: Integer;
    begin
      for i:= 0 to NbBoutons-1 do
      begin
        Bouton[i]:= TSpeedButton.Create(Self);
        with Bouton[i] do
        begin
          Parent:= Self;
          Height:= 83;
          Width:= 87;
          ListImgBtn.Draw(Glyph.Canvas, 0, 0, i, True);
    //      Glyph:= TBitmap(ListImgBtn.Components[i]);
          Left:= i*(Width+8);
        end;
      end;
    end;
    Que ce soit la ligne 13 ou 14 du code ci-dessus, le résultat est le même : les boutons s'affichent, mais sans images !

    J'ai essayé aussi avec un TSpeedButton venant de la barre de composants : même résultat.

    Une idée de ce qu'il faut faire ?

    Cordialement.

    Pierre

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    Bonsoir,
    Ne faut-il pas affecter la liste à Images et renseigner ImageIndex ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Citation Envoyé par tourlourou Voir le message
    Bonsoir,
    Ne faut-il pas affecter la liste à Images et renseigner ImageIndex ?
    Je suis avec Lazarus 1.6.4 et j'ai vu ces propriétés dans un TMenu, mais aucun bouton (dont TSpeedButton) n'a ni propriété "Images" ni propriété "ImageIndex" .

    Cordialement.

    Pierre

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    Bonsoir !

    Je n'ai pas essayé, mais sur cette page on donne le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageList1.GetBitmap(iIndex, SpeedButton1.Glyph);
    Bonne chance !

  5. #5
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Bonsoir !

    Je n'ai pas essayé, mais sur cette page on donne le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageList1.GetBitmap(iIndex,SpeedButton1.Glyph);
    Bonne chance !
    Ben j'avais essayé, mais pas de chance, GetBitmap(...) n'existe pas en 1.6.4 !

    Cordialement.

    Pierre

  6. #6
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par ChPr Voir le message
    Ben j'avais essayé, mais pas de chance, GetBitmap(...) n'existe pas en 1.6.4 !

    Cordialement.

    Pierre
    Salut c'est peut-être bête mais est-ce que la propriété Glyph (TBitmap) est initialisée (different de nil) ?

    Si non peut-être juste en rajoutant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SpeedButton.Glyph := TBitmap.Create; // ici c'est peut-être pas la peine
    SpeedButton.Glyph.Width := 16; // Mais définir les dimensions avant de copier, oui,  car si 0x0 rien ne s'affichera
    SpeedButton.Glyph.Height := 16;
    ListImgBtn.Draw(SpeedButton.Glyph.Canvas, 0, 0, i, True);
    A+
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. affecter une image au paramètre d'une requête
    Par RodEpsi dans le forum Bases de données
    Réponses: 1
    Dernier message: 03/12/2006, 11h44
  2. Comment affecter une image a un PictureBox par code?
    Par ayouss dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 25/07/2006, 08h26
  3. Comment je peux affecter une image a mon profil
    Par jlassira dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 5
    Dernier message: 09/03/2006, 21h44
  4. Mettre une image a la place du bouton parcourir
    Par Death83 dans le forum Langage
    Réponses: 3
    Dernier message: 04/09/2005, 20h16

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