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

Delphi Discussion :

Utilisation d'un composant dérivé d'un TEdit


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de dleu
    Profil pro
    Inscrit en
    Août 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 169
    Par défaut Utilisation d'un composant dérivé d'un TEdit
    Bonjour,

    Je voudrais utiliser dans mon projet (TD 2006) des TEdit dans lequel le texte (des chiffres) serait justifié à droite. J'ai suivi le tuto de la fac (http://www.developpez.com/delphi/faq...opri#aligntext) pour créer un composant qui autorise la justification à droite.

    J'arrive aussi bien à les créer ainsi :
    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
      with TMonEdit.Create(Self) do
      begin
        Parent := Self;
        Left := 10;
        Top := 10;
        name := 'edtMontant';
        FTextAlign:=taRightJustify;
        text:='0,00';
      end;
      with TMonEdit.Create(Self) do
      begin
        Parent := Self;
        Left := 10;
        Top := 50;
        name := 'edtRecu';
        FTextAlign:=taRightJustify;
        text:='0,00';
      end;
    Mais, je ne parviens pas à les utiliser dans le code: si je fais référence à un de ces composants par leur nom, j'ai une erreur d'identification non déclarée et je n'ai pas accès non plus aux évènements liés comme le onChange ou le onKeyPress.

    Comment dois-je m'y prendre? Merci.

    Didier

  2. #2
    Membre éclairé Avatar de Dirk-Pitt
    Inscrit en
    Juillet 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Juillet 2007
    Messages : 71
    Par défaut
    Bonjour,


    Essaye de passer par une variable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MaVar: TMonEdit;
     
    MaVar := TMonEdit.Create(Self);
    Etc ...

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Bonjour,

    TEdit dans lequel le texte ... serait justifié à droite. ... créer un composant qui autorise la justification à droite.
    ... il y a plus simple que de créer un composant :
    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
    // Edit justifié à droite :
    
    var SysLocalInitial : TSysLocale;
    procedure TForm1.FormCreate(Sender: TObject);
    begin     SysLocalInitial :=SysLocale; // pour pouvoir rétablir SysLocale à sa valeur initiale au moment voulu
              SysLocale.MiddleEast := True;
              Edit1.BiDiMode := bdRightToLeft;
              ...
              Edit88.BiDiMode := bdRightToLeft;
    end;
    
    procedure Form1.FormClose(Sender: TObject);
    begin     ....
              SysLocale := SysLocalInitial; 
    end;
    ... A+
    EDIT : J'avais oublié le T de TForm1, mais je suis sûr que le compilateur te l'aurait signalé.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  4. #4
    Membre confirmé Avatar de dleu
    Profil pro
    Inscrit en
    Août 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 169
    Par défaut
    Merci pour vos réponses, je teste ces infos et je reviens

  5. #5
    Membre confirmé Avatar de dleu
    Profil pro
    Inscrit en
    Août 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 169
    Par défaut
    A Dirk-Pitt : Malheureusement, ça ne fonctionne pas non plus. J'ai toujours l'erreur : identificateur non déclaré.

    A Gilbert Geyer : Ta solution ne fonctionne pas non plus de manière satisfaisante. Quand je tape un nombre négatif, le signe moins se place à droite et quand je tape une virgule, elle se place d'abord à gauche avant de se pl;acer à droite. Le comportement de l'édit est étrange donc.

    La création d'un composant est plus satisfaisante : l'édition dans le TMonEdit fonctionne parfaitement. Mais je ne sais pas utiliser ce composant créé dans mon code.

    Auriez-vous une autre idée ?

    Merci de votre aide.

  6. #6
    Membre éclairé Avatar de Dirk-Pitt
    Inscrit en
    Juillet 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Juillet 2007
    Messages : 71
    Par défaut
    Citation Envoyé par dleu
    A Dirk-Pitt : Malheureusement, ça ne fonctionne pas non plus. J'ai toujours l'erreur : identificateur non déclaré.
    Peux tu, s'il te plait, poster le bout de code où tu as cette erreur ?

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Re-bonjour,
    Dleu a écrit :
    A Gilbert Geyer : Ta solution ne fonctionne pas non plus de manière satisfaisante. Quand je tape un nombre négatif, le signe moins se place à droite et quand je tape une virgule, elle se place d'abord à gauche avant de se placer à droite. Le comportement de l'édit est étrange donc.
    ... est-tu sûr d'avoir utilsé un TEdit-standard et non ton composant TMonEdit avec ma soluce car chez moi, re-vérification faite, le signe moins se place bien à gauche et la virgule ne change pas de place.
    Si dans la confusion tu as utilisé ma solution avec ton composant il en résulterait forcément des interférences entre les deux solutions, d'où le comportement étrange ... donc à vérifier si cela ne viendrait pas de là.
    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/08/2006, 10h26
  2. Création d'un composant dérivé
    Par leycho dans le forum C++Builder
    Réponses: 4
    Dernier message: 20/12/2005, 17h22
  3. Réponses: 3
    Dernier message: 26/10/2005, 10h24
  4. utiliser query sans composant builder 5
    Par hook85 dans le forum C++Builder
    Réponses: 8
    Dernier message: 19/01/2005, 21h09
  5. [TChart] Composant dérivé
    Par Linkin dans le forum Composants VCL
    Réponses: 2
    Dernier message: 03/01/2005, 16h34

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