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 :

Modifier le composant TRichEdit


Sujet :

Langage Delphi

  1. #1
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut Modifier le composant TRichEdit
    Salut

    Je voudrais me creer un composant TRichEdit personnalisé, et pour commencer j'aimerais modifier juste la couleur de la sélection. C'est a dire que, sur un RichEdit, quand on surligne le texte, le fond de la sélection devient noir, et j'aimerais le mettre bleu par exemple. Je ne cherche pas a modifier la couleur du texte.

    Donc je voudrais me creer mon composant, pour l'instant j'ai créé un descendant de TCustomRichEdit.
    Ma question est la suivante : Quelle méthode dois-je surcharger pour modifier cette couleur ?
    J'ai essayé sans succes la méthode Update, et la méthode Repaint.

    Merci d'avance,

    Mick605

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 522
    Points : 25 052
    Points
    25 052
    Par défaut
    le RichEdit c'est un composant qui encaspule celui de windows (ni plus ni moins celui de WordPad), tu ne pourras pas y modifier grande chose sans devoir consulter les API Windows (voir DLL RICHED32.DLL)

    Voir aussi le TJvRichEdit !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Ok, merci pour ta réponse. Je vais voir du coté de cette dll alors ...

    Merci encore

  4. #4
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Salut

    Bon, j'ai regardé cette DLL, j'ai appris pas mal de trucs, et j'ai vu qu'il y avait plusieurs versions de Rich Edit. (1.0, 2.0, 3.0, 4.1) avec plusieurs nouvelles fonctionnalités (http://msdn.microsoft.com/en-us/libr...73(VS.85).aspx). Maintenant, j'aimerais donc creer un Rich Edit 4.1. Pour cela, l'aide dit d'utiliser CreateWindowEx avec comme nom de classe : MSFTEDIT_CLASS.

    Je fais donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      CreateWindowEx(0, 'MSFTEDIT_CLASS', 'Blabla', WS_VISIBLE or WS_CHILD or WS_BORDER,
                     10, 50, 100, 100, Handle, 0, hInstance, nil);  //RichEdit 4.1
    qui ne marche pas. Ces codes ne marchent pas non plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      CreateWindowEx(0, 'RICHEDIT_CLASS', 'Blabla', WS_VISIBLE or WS_CHILD or WS_BORDER,
                     10, 50, 100, 100, Handle, 0, hInstance, nil);  //RichEdit 2.0 et 3.0
      CreateWindowEx(0, 'RichEdit', 'Blabla', WS_VISIBLE or WS_CHILD or WS_BORDER,
                     10, 50, 100, 100, Handle, 0, hInstance, nil);  //Rich Edit 1.0
    Par contre, pour la création d'un edit simple, le code marche. Je suis sous Seven 64 bits, j'ai les DLLs riched32.dll, riched20.dll, msftedit.dll dans les dossiers System32 et SysWow64.

    Pourquoi le richedit ne veut il pas se creer ?

    Merci d'avance.

Discussions similaires

  1. modifier propriété composant sans refresh de la page
    Par dumser1 dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 30/04/2008, 09h23
  2. Modifier des composants TLabels automatiquement
    Par marcootz dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/03/2008, 18h32
  3. [VB.NET] modifier un composant a partir d'un module
    Par miya dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/12/2006, 09h49
  4. [thread]modifier un composant graphique
    Par dark2 dans le forum SWT/JFace
    Réponses: 6
    Dernier message: 13/06/2006, 10h41
  5. [Composants] TRichEdit: Une police pour chaque ligne
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/03/2003, 15h59

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