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 :

Colorier une ligne dans Richedit avec TColorDialog


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 228
    Par défaut Colorier une ligne dans Richedit avec TColorDialog
    Bonjour

    Je veux faire une petit Editeur de texte pour Créer et/ou Modifier des remarques de bas de page dans une facture

    Nom : Capture.jpg
Affichages : 235
Taille : 74,0 Ko

    Voici l'écran d'exemple.
    Je gère sans problèmes après sélection d'une ligne un d'un mot les Mise en gras , italique etc..
    Mais je butte lamentablement sur l'utilisation de la Mise en couleur à partir d'un Composant ColorDialog

    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
    // *************************
    function TForm70.CurrText: TTextAttributes;
    begin
      if RichEditor.SelLength > 0 then
        Result := RichEditor.SelAttributes
      else
        Result := RichEditor.DefAttributes;
    end;
     
    // ****************
    procedure TForm70.EditFontCmdExecute(Sender: TObject);
    begin
       ColorDialog1.Execute();
       CurrText.Color := ColorDialog1.Color;
    end;
    Quand je sélectionne la ligne et que je clique sur les bouton du choix des couleurs
    • Je perd la sélection
    • Après le choix de la couleur.... Rien ne se passe !!


    C'est un truc , certainement de débutant, mais je n'ai pas trouvé , ou mal chercher dans le forum la solution

    Merci pour votre aide.

  2. #2
    Membre chevronné Avatar de blonde
    Femme Profil pro
    Développeur Delphi
    Inscrit en
    Septembre 2003
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Septembre 2003
    Messages : 278
    Par défaut
    Hello,

    essaie voir ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm70.EditFontCmdExecute(Sender: TObject);
    Begin
      if ColorDialog1.Execute then
      Begin
        RichEditor.SelAttributes.Color := ColorDialog1.Color;
      End;
    End;
    as-tu le même comportement ?

  3. #3
    Membre chevronné Avatar de blonde
    Femme Profil pro
    Développeur Delphi
    Inscrit en
    Septembre 2003
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Septembre 2003
    Messages : 278
    Par défaut
    Et sinon, j'ai testé ton code, il fonctionne correctement chez moi. Je n'ai peut-être pas compris ta problématique ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 228
    Par défaut
    Et oui c'est mon Problème

    même comportement

    La solution que tu me propose je l'ai déjà testée mais elle ne marche pas.

    Je ne comprend pas pourquoi quand je sélectionne la ligne ou je veux appliquer la couleur et ensuite clic sur le bouton pour choisir celle ci
    ma sélection disparait !!
    Pour info voici comment je fais

    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 TForm70.SelectionChange(Sender: TObject);
    begin
      with RichEditor.Paragraph do
      Begin
        BoldButton.Down := fsBold in RichEditor.SelAttributes.Style;
        ItalicButton.Down := fsItalic in RichEditor.SelAttributes.Style;
        UnderlineButton.Down := fsUnderline in RichEditor.SelAttributes.Style;
        BulletsButton.Down := Boolean(Numbering);
        FontSize.Text := IntToStr(RichEditor.SelAttributes.Size);
        FontName.Text := RichEditor.SelAttributes.Name;
     
        case Ord(Alignment) of
          0: LeftAlign.Down := True;
          1: RightAlign.Down := True;
          2: CenterAlign.Down := True;
        end;
      End;
    end;
    et j'appelle cette procédure dans le onCreate de la fiche

  5. #5
    Membre chevronné Avatar de blonde
    Femme Profil pro
    Développeur Delphi
    Inscrit en
    Septembre 2003
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Septembre 2003
    Messages : 278
    Par défaut
    J'ai testé en D6, il n'y a pas de problème.Donc je ne pense pas à un problème de version.

    Dans ton code, est-ce que tu peux regarder quand tu passes dans "CurrText", si tu as une sélection ou non (SelLength > 0).
    Tu gères d'autres événements que "selectionChange" ?

  6. #6
    Membre chevronné Avatar de blonde
    Femme Profil pro
    Développeur Delphi
    Inscrit en
    Septembre 2003
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Septembre 2003
    Messages : 278
    Par défaut
    Citation Envoyé par gegila Voir le message
    et j'appelle cette procédure dans le onCreate de la fiche
    Ça par contre, je n'ai pas compris. Dans le Create de la form, tu appelles "SelectionChange" ?

  7. #7
    Membre éclairé
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 228
    Par défaut
    Re bonjour,

    Voici les réponses

    Nom : Capture1.jpg
Affichages : 205
Taille : 72,8 Ko

    Nom : Capture2.jpg
Affichages : 192
Taille : 72,7 Ko

    En ce qui concerne la procédure selectionChange(sender) dans le create, c'est pour avoir la mise à jour du RichEdit.

    J'ai désactivé l'appel à cette procédure et le problème est toujours le même

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

Discussions similaires

  1. colorier une ligne dans un DBgrid
    Par looping dans le forum Langage
    Réponses: 1
    Dernier message: 12/12/2008, 08h22
  2. Colorier une ligne dans un StringGrid et cacher une colonne
    Par Siguillaume dans le forum Langage
    Réponses: 8
    Dernier message: 02/07/2008, 20h24
  3. [VBA-E] Colorier une ligne dans une feuille excel
    Par skyst3f dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/10/2006, 11h42
  4. Obtenir la hauteur d'une ligne dans un RichEdit
    Par Juicebox dans le forum Windows
    Réponses: 1
    Dernier message: 10/10/2006, 23h35
  5. Colorier une ligne d'un RichEdit
    Par didi59650 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 05/05/2006, 11h40

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