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

Langage Delphi Discussion :

Un Tlabel qui s'affiche pas


Sujet :

Langage Delphi

  1. #1
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut Un Tlabel qui s'affiche pas
    bonjour,

    dans une classe, j'ai un TLabel en private.

    Je le crée et initialise comme suit dans le create de la classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      ...
      titre:=TLabel.Create(AOwner);
      // le AOwner est le winControl qui contient l'objet de classe créé
      // l'objet créé apparait bien dans ce AOwner (c'est un panel)
      titre.name:='toto';
      titre.Font.Color:=clBlack;
      titre.Caption:='TOTO';
      titre.Visible:=true;
      titre.Left:=50;
      titre.Top:=50;
      titre.BringToFront;
      ...
    L'objet de classe se crée, le TLabel aussi vu qu'il n'y a pas de plantage... mais ce dernier, lui, n'apparait pas...

    Ca doit tenir à pas grand chose... GRRRRR

    Merci.

  2. #2
    Membre éprouvé Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 15
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Points : 912
    Points
    912
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     titre:=TLabel.Create(AOwner);
      // le AOwner est le winControl qui contient l'objet de classe créé
      // l'objet créé apparait bien dans ce AOwner (c'est un panel)
      titre.name:='toto';
      titre.Font.Color:=clBlack;
      titre.Caption:='TOTO';
      titre.Visible:=true;
      titre.Left:=50;
      titre.Top:=50;
      AOwner.insertControl(Titre);
      titre.BringToFront;
    a+
    Dans le vocabulaire des couturiers seulement, patron est synonyme de modèle.
    Aymond d'Alost

  3. #3
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par Yurck Voir le message
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     titre:=TLabel.Create(AOwner);
      // le AOwner est le winControl qui contient l'objet de classe créé
      // l'objet créé apparait bien dans ce AOwner (c'est un panel)
      titre.name:='toto';
      titre.Font.Color:=clBlack;
      titre.Caption:='TOTO';
      titre.Visible:=true;
      titre.Left:=50;
      titre.Top:=50;
      AOwner.insertControl(Titre);
      titre.BringToFront;
    a+
    Merci bcp, ça marche... ça m'énerve de buter à chaque fois sur des détails comme ça que je ne trouve pas dans le F1...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 141
    Points : 142
    Points
    142
    Par défaut
    Salut,

    En ragardant la doc de Delphi sur la méthode "insertControl", ils conseillent d'utiliser la propriété Parent plutôt :

    Les applications n'ont pas besoin d'appeler directement InsertControl . A la conception, les contrôles enfant sont automatiquement insérés et retirés lorsqu'ils sont ajoutés ou supprimés. A l'exécution, utilisez la propriété Parent du contrôle enfant pour l'insérer dans le tableau Controls . Si le contrôle enfant est déjà l'enfant d'un autre contrôle, changez la propriété Parent de l'enfant car cela retire automatiquement l'enfant de la liste Controls de son parent d'origine.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    titre.Parent := AOwner; //ou Panel4, ou ...
    La propriété Owner (assignée à la création de l'objet : "TLabel.Create(AOwner)" ) veut dire que lorsque le Owner sera détruit, tous les objets pour lesquels il est marqué comme Owner seront également détruits.

    La prorpiété Parent, elle, sert pour toutes les propriétés d'affichage. Par exemple, les coordonnées Left et Top sont calculées à partir du coin supérieur gauche du Parent ; si le Parent devient invisible, il masque tous ses fils avec lui, etc...
    *LeGEC*

  5. #5
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par LeGEC Voir le message
    Salut,

    En ragardant la doc de Delphi sur la méthode "insertControl", ils conseillent d'utiliser la propriété Parent plutôt :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    titre.Parent := AOwner; //ou Panel4, ou ...
    La propriété Owner (assignée à la création de l'objet : "TLabel.Create(AOwner)" ) veut dire que lorsque le Owner sera détruit, tous les objets pour lesquels il est marqué comme Owner seront également détruits.

    La prorpiété Parent, elle, sert pour toutes les propriétés d'affichage. Par exemple, les coordonnées Left et Top sont calculées à partir du coin supérieur gauche du Parent ; si le Parent devient invisible, il masque tous ses fils avec lui, etc...
    Merci pour les infos.

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

Discussions similaires

  1. [MySQL] Deux tableaux identiques qui ne affichent pas la même chose
    Par somatino dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/12/2006, 20h02
  2. [vb.net]Pb ToolTip qui s'affiche pas
    Par charaf dans le forum Windows Forms
    Réponses: 6
    Dernier message: 30/11/2006, 22h20
  3. Réponses: 18
    Dernier message: 13/12/2005, 13h27
  4. [CSS] une bordure de <tr> qui s'affiche pas!!!
    Par zulot dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 28/10/2005, 12h24
  5. Réponses: 10
    Dernier message: 28/09/2005, 16h30

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