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 :

Dégradé dans un TMemo


Sujet :

Composants VCL Delphi

  1. #1
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut Dégradé dans un TMemo
    J'ai cherché pas mal avant d'écrire ma problématique.

    Est-il possible d'avoir un effet dégrader dans un Tmemo ?

    Je ne trouve pas de fonction Canvas ou Paint dans un TMemo, j'ai essayer d'ajouter ces propriétés dans un TMemo perso mais je n'y arrive pas.

    Connaissez vous cette possibilité ?

    Exemple de code qui marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    type
       TMyMemo = class(TMemo)
       private
         FStartColor:Tcolor;
         FEndColor:Tcolor ;
       protected
        procedure Paint;override;
       published
        property StartColor : Tcolor read fStartColor write fStartColor ;
        property EndColor : Tcolor read FEndColor write FEndColor ;
       end
    ;

    si je déclare l'implémente la procedure Paint, Delphi m'envoi sur prroriété indisponible.

  2. #2
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 988
    Points
    988
    Par défaut
    C'est tout a fait normal, TMemo n'est pas un descendant de TCustomControl. En clair, il ne se dessine pas lui-même (c'est pour ça qu'il n'a pas de procédure Paint), mais il est directement géré par Windows.

    TMemo, comme tous les TWinControl, se contente d'encapsuler l'objet visuel mis à la disposition du programmeur par les fonctions de l'API de Windows, qui sont (presque) toutes cachées dans le composant dans des méthodes et des procédures.

    Parfois, il arrive que des propriétés apparues dans des versions plus récentes de Windows, n'aient pas été encapsulées dans les composants de Delphi, mais c'est très rare. Quoiqu'il en soit, la propriété "fond dégradé" ne me semble pas exister, même dans Windows Vista, mais je peux me tromper.

    Il y a peut-être une astuce que je ne connais pas (utilisation de transparence ?) sinon, il faudrait faire appel à un Memo entièrement réécrit, comme le TSynMemo par exemple... ce ne sont que des pistes, et je ne suis même pas sûr que ça débouche sur une solution.

  3. #3
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 988
    Points
    988
    Par défaut
    Tiens j'ai trouvé d'autres pistes dans un vieux fil :

    http://www.developpez.net/forums/d14...-arriere-plan/

  4. #4
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    Certe le TMemo n'est qu'une enveloppe du controle natif proposé par windows, mais je pense que l'on peut tjr le customiser en jouant sur certains messages.

    Tu devrais peut être tentais de surcharger l'évènement M_ERASE_BACKGROUND (faudra vérifier la syntaxe exacte dans windows.h ou dans l'unité des controles, certaisn l'implémentent).

    Cordialement
    octal
    http://www.pocketmt.com GLCD Font Creator home site.

Discussions similaires

  1. Positionnement de ligne dans un TMemo
    Par tixu dans le forum Composants VCL
    Réponses: 4
    Dernier message: 18/12/2004, 11h45
  2. Position du curseur dans un TMemo
    Par yokito dans le forum Composants VCL
    Réponses: 3
    Dernier message: 28/08/2003, 16h35
  3. Taille des tabulations dans un TMemo ?
    Par dergen dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/01/2003, 19h38
  4. Retour chariot dans un TMemo ?
    Par Vincent PETIT dans le forum C++Builder
    Réponses: 7
    Dernier message: 27/08/2002, 18h55

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