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 :

Impossible d'utiliser l'inspecteur d'objets pour insérer un glyph dans un TBitButton


Sujet :

Lazarus Pascal

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Impossible d'utiliser l'inspecteur d'objets pour insérer un glyph dans un TBitButton
    Bonjour à tous,

    J'ai besoin de vous.

    J'utilise Lazarus 1.6 sous Ubuntu 16.04 lts.

    J'ai déposé un TBitButton dans un TPanel dans un TTabSheet d'un TPageControl.

    Je n'ai pas pu utiliser l'inspecteur d'objet pour y insérer un glyph. Seule la ligne suivante me l'a permis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bitbtn1.Glyph.LoadFromFile('2leftarrow.bmp');
    J'ai voulu "enabled" le bouton en question mais impossible de le faire dans le code. Cela marche seulement avec l'inspecteur d'objet.

    Quelqu'un a t'il une solution pour ces agaceries ?

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 720
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 720
    Points : 15 106
    Points
    15 106
    Par défaut
    Bonsoir,
    Citation Envoyé par Colignon Voir le message
    Je n'ai pas pu utiliser l'inspecteur d'objet pour y insérer un glyph.
    N'est pas une information suffisante pour nous permettre de comprendre ce qui s'est passé (ou pas)


    Citation Envoyé par Colignon Voir le message
    J'ai voulu "enabled" le bouton en question mais impossible de le faire dans le code.
    N'est pas un message d'erreur valide pour comprendre etc.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Expert confirmé
    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
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut comment as tu créé tes composants tabcontrol et autres dans ton code ? oups

    Est-ce que le tabcontrol et le tabsheet sont bien "enabled" ? moi aussi je ne comprend pas bien ta question

    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

  4. #4
    Expert confirmé
    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
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Je viens de tester chez moi un TPanel avec un tabcontrol + tabsheet + tpanel + tbitbutton et dans l'evenement formcreate de la form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      bitbtn1.Glyph.LoadFromFile('icon_tool_circle.bmp');
      bitbtn1.Enabled := true;
    tout fonctionne bien, du moins sous Windows
    • "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

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    Je viens de tester chez moi un TPanel avec un tabcontrol + tabsheet + tpanel + tbitbutton et dans l'evenement formcreate de la form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      bitbtn1.Glyph.LoadFromFile('icon_tool_circle.bmp');
      bitbtn1.Enabled := true;
    tout fonctionne bien, du moins sous Windows
    J'ai fait la même chose et cela fonctionne mais pas dans mon projet...

    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
     
    procedure activer_bouton;
    begin
      form1.BitBtn1.Enabled:=true;
    end;
     
    procedure desactiver_bouton;
    begin
      form1.BitBtn1.Enabled:=false;
    end;
     
    procedure TForm1.FormActivate(Sender: TObject);
    begin
      panel1.Height:=60;
      bitbtn1.Width:=50;
      bitbtn1.Height:=50;
      bitbtn1.Caption:='';
      bitbtn1.Glyph.LoadFromFile('button_accept.bmp');
      bitbtn1.Enabled:=false;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      activer_bouton;
    end;
     
    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      desactiver_bouton;
    end;

  6. #6
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 720
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 720
    Points : 15 106
    Points
    15 106
    Par défaut
    Salut,
    Citation Envoyé par Colignon Voir le message
    J'ai fait la même chose et cela fonctionne mais pas dans mon projet...
    Tes quelques lignes de test fonctionnent également très bien sous Linux/Laz1.4, donc le problème est dans ton projet.

    Nom : bitbtn.gif
Affichages : 504
Taille : 3,2 Ko

    L'image n'est pas belle car je n'ai pas redimensionné le bouton.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  7. #7
    Expert confirmé
    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
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut petite suggestion pour tes procedures Activer/Desactiver, il est préférable de les déclarer dans la section "private" ou "protected" de ta "Form"

    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
    Type
       TForm1 = Class(TForm)
          BitBtn1 : TBitBtn
       private
          procedure activer_bouton;
          procedure desactiver_bouton;
       end;
     
    implementation
     
    procedure TForm1.activer_bouton;
    begin
      BitBtn1.Enabled:=true;
    end;
     
    procedure TForm1.desactiver_bouton;
    begin
      BitBtn1.Enabled:=false;
    end;
    Est-ce que un des composants TabControl, TAbSheet, TPanel aurait-il sa propriété "Enabled" à false par hasard ?

    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

  8. #8
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    Salut petite suggestion pour tes procedures Activer/Desactiver, il est préférable de les déclarer dans la section "private" ou "protected" de ta "Form"
    Je vais suivre ton conseil. Je ne devrai plus préfixer par le nom de la Form. Je ne fais pas souvent de procèdure/fonction de cette façon. Souvent cela se trouve dans des units réunissant des actions spécifiques.

    Salutations.

  9. #9
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Colignon Voir le message
    J'ai fait la même chose et cela fonctionne mais pas dans mon projet...
    Je devais être très fatigué car je me suis emmêlé dans mon code mais maintenant cela fonctionne dans mon projet aussi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bitbtn1.Glyph.LoadFromFile('icon_tool_circle.bmp');
    Seulement, je ne comprends pas pourquoi je ne peux pas utiliser l'inspecteur d'objet pour insérer un glyph dans mon bouton!

    Merci d'avance pour vos réponses.
    Salutations.

  10. #10
    Expert confirmé
    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
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut

    Alors là c'est bien louche as tu cliqué sur le bouton avec les 3 points à coté de la propriété "Glyph" ? une boite de dialogue s'ouvre et t'invite à aller chercher ton image

    Nom : 2019-11-16_180000.png
Affichages : 588
Taille : 7,9 Ko

    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

  11. #11
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    J'ai fait en effet ce que tu suggère mais cela ne marche pas et cela sur 2 versions de Lazarus différentes, une sous linux et une sous windows. ça c'était avant que je ne réessaye... et maintenant cela fonctionne.

    Je viens de DELPHI mais n'est compatible qu'avec Windows xp alors sous linux je me met à Lazarus/free pascal. Il est donc possible qu'en essayant le tbitbtn j'ai suivi un mauvais chemin (fichier jpg trop grand par exemple). Cela semblait fonctionné mais à l'exécution rien ne s'affichait.

    J'ai à nouveau un autre problème (je vais me faire taper sur les doigts par le modérateur mais bon...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var
       s : string;
       i : integer;
    begin
       s := 'siège';
       i := length (s);
    end;
    Curieusement i vaut 4. Pourquoi length ne compte pas les caractères accentués?

    Merci d'avance pour les remarques et réponses que vous voudrez bien m'apporter.
    Salutations.

  12. #12
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 457
    Points
    15 457
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Colignon Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var
       s : string;
       i : integer;
    begin
       s := 'siège';
       i := length (s);
    end;
    Curieusement i vaut 4. Pourquoi length ne compte pas les caractères accentués?
    Bonjour ! Pourquoi 4, je ne sais pas, mais pour un résultat correct vous avez la fonction UTF8Length.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  13. #13
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Bonjour ! Pourquoi 4, je ne sais pas, mais pour un résultat correct vous avez la fonction UTF8Length.
    En recherchant sur ce forum, j'ai trouvé cette solution qui fonctionne parfaitement.
    Merci pour votre réponse.

Discussions similaires

  1. [XL-2007] utiliser un un seul textbox pour entrer les données dans differentes colonne
    Par jeph.net dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/12/2011, 19h24
  2. utilisation du calendrier pour insérer des dates dans ma BD Interbase
    Par Abou Zar dans le forum Bases de données
    Réponses: 4
    Dernier message: 22/06/2010, 07h23
  3. [VBA-PP] macro pour insérer des images dans PowerPoint
    Par mashpro dans le forum VBA PowerPoint
    Réponses: 4
    Dernier message: 01/08/2006, 22h56
  4. Probleme pour insérer une valeur dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 30/05/2006, 10h58
  5. Probléme pour insérer une variable dans un champs
    Par BOUTRAIS dans le forum Access
    Réponses: 2
    Dernier message: 11/04/2006, 22h45

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