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

Composants VCL Delphi Discussion :

Composant : Savoir si un controle est de type combo ou Edit.


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut Composant : Savoir si un controle est de type combo ou Edit.
    Salut à tous.

    Dans mes sources, j'ai besoin de savoir si un controle et de type ComboBox ou de ses descendant ou bien de type Edit ou ses derivées. Actuellement , je teste un a un le type comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Procedure TestandSetCaption(Controle : TControl; Capt : String);
    begin
      If (Controle is TEdit) then
          (Controle as TEdit).text := Capt;
      If (Controle is TRzEdit) then
          (Controle as TRzEdit).text := Capt;
      If (Controle is TComboBox) then
          (Controle as TComboBox).text := Capt;
      If (Controle is TRzComboBox) then
          (Controle as TRzComboBox).text := Capt;
      If (Controle is TLabel) then
          (Controle as TLabel).Caption := capt;
    end;
    Comme vous pouvez en juger, ce code test le type du controle et defini le propriété Caption ou Text.
    Alors si vous pouvez m'aider, j'ai besoin de savoir si controle et de type combo ou edit ou label et ses derivées.

    Merci

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Salut
    tu peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if Control.InheritsFrom(TaClasse) then
    ...
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut
    Merci Pedro.

    Je dois donc regarder les sources de composants pour savoir de quelle CustomCompo ils dérivent tous (ex les compos de la JVCL, TMS, Raize etc) .
    Je vais creuser cette piste.

    Merci

  4. #4
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Non pas les sources! Dans l'aide tu as la hiérarchie de chaque composant
    N'oublie pas le tag [Résolu]
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  5. #5
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut
    Ok.

    Je vais voir ça.

    Merci

  6. #6
    Expert confirmé

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Par défaut
    Pour les propriétés publiées ( Text et Caption le sont ) tu peux utiliser cette méthode : http://delphi.developpez.com/faq/?pa...roprieteparnom
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  7. #7
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut
    C'est fabuleux.

    Merci Nono.
    Je vais mettra ça en pratique.

    A+

  8. #8
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut
    J'ai trouver l'idée de Nono trop cool mais je me butte sur un pti problème
    J'ai trouvez ceci sur le net
    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
     
    type TTypeKind = (
       tkUnknown,      Unknown property type.
       tkInteger,        Integer property.
       tkChar,            Char property.
       tkEnumeration, Enumeration type property.
       tkFloat,            Float property.
       tkSet,              Set property.
       tkMethod,        Method property.
       tkSString,        Shortstring property.
       tkLString,        Longstring property.
       tkAString,       Ansistring property.
       tkWString,       Widestring property.
       tkVariant,       Variant property.
       tkArray,         Array property.
       tkRecord,       Record property.
       tkInterface,    Interface property.
       tkClass,         Class property.
       tkObject,        Object property.
       tkWChar,       Widechar property.
       tkBool,           Boolean property.
       tkInt64,          Int64 property.
       tkQWord,       QWord property.
       tkDynArray,   Dynamical array property.
       tkInterfaceRaw   Raw interface property.
    );
    Mais Delphi ne connait pas tkBool.

    Ou est le problème.

    Merci

  9. #9
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Il ne reconnait pas QUE tkBool ou les autres aussi?
    Si oui alors, il faut aller voir dans l'unité où sont déclarée ces constantes et vérifier la syntaxe...
    Si non, alors il y a de fortes chances qu'il te faille rechercher l'unité dans laquelle se trouve ces constantes...
    Bon dev'
    Note: une astuce: ajoute le mot dans une unité standard (celle d'une form) puis laisse le curseur dessus, le hint te donnera l'unité...
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  10. #10
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut
    J'utilise tkInteger, tkFloat, tkString, ça marche impec.
    Seule tkBool qui n'est pas reconnu.

    Merci

    PS,
    Effectrivement avec l'aide de Delphi, tkBool n'est pas inclu dans TypeKind.
    Ca m'aurrais bien aidé mais je vais caster en integer.

    A+

Discussions similaires

  1. Comment savoir si un Control est un Radiobutton ?
    Par Battosaiii dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/09/2009, 18h30
  2. Savoir si un control est éditable
    Par obitskater dans le forum Windows Forms
    Réponses: 6
    Dernier message: 06/04/2009, 16h47
  3. Savoir si un objet est d'un type primitif
    Par ploxien dans le forum Langage
    Réponses: 3
    Dernier message: 09/05/2007, 09h39
  4. Savoir si un controle existe (n'est pas null)
    Par Orangina dans le forum C++Builder
    Réponses: 9
    Dernier message: 24/04/2006, 14h13

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