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

C++Builder Discussion :

Dessiner sur un composant sans Canvas


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut Dessiner sur un composant sans Canvas
    Bonjour,

    J'aimerais ajouter une image de fond sur un TRichEdit et sur un TMemo.
    Problème: ces deux composants , qui dérivent de TCustomMemo, n'ont pas de Canvas.

    Y a t'il un moyen de peindre l'arrière plan avec un Bitmap (autre qu'un Bitmap de 8x8 tel que proposé par Brush) ?

  2. #2
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonjour,

    A tout hasard (je n'ai pas essayé), ne peut tu pas jouer avec un TControlCanvas ?
    (en désignant l'objet 'cible' par la propriété Control du TControlCanvas)

    @ +

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    En lisant la doc sur le constructeur du TControlCanvas, il est précisé qu'il ne faut pas l'appeler directement dans une application mais que les composants qui l'utilisent l'appellent dans leur propre constructeur.

    Et à priori, TRichEdit et TMemo n'utilisent pas de TControlCanvas .

    Il y a la solution de dessiner entièrement le contrôle. Pour un TMemo, ça ne parait pas insurmontable. Mais pour un TRichEdit, ça me paraît nettement plus compliqué !

  4. #4
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut, j'ai déjà était confronté à ce problème il y a peu de temps avec un TShape.

    Plusieurs solutions ont été donné sur le post.

    Bon courage

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    La différence est que le TShape est un descendant de TGraphicControl qui possède un Canvas. Pas TWinControl .

  6. #6
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonjour,

    Ché po si il ne faut pas l'appeler directement ou pas, mais lors d'un petit test il n'a pas l'air de trop broncher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    TControlCanvas *pCn;
    pCn = new TControlCanvas();
    pCn->Control = Memo1;
    pCn->Rectangle(1, 1, 10, 10);
    Je suppose qu'il doit en être de même pour toutes les autres fonctions du Canvas ...

    @ +

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Effectivement, merci, ça dessine bien dans le contrôle. Je vais voir si je peux m'en sortir avec ça.

    Si vous avez d'autres idées, je suis preneur !

Discussions similaires

  1. Dessiner sur un Jpeg sans perte de qualité
    Par poly128 dans le forum Langage
    Réponses: 3
    Dernier message: 03/09/2007, 21h35
  2. [SWING]Dessiner sur un composant
    Par Tarteens dans le forum AWT/Swing
    Réponses: 22
    Dernier message: 02/07/2007, 10h50
  3. Dessiner sur un composant sans Canvas
    Par bandit boy dans le forum C++Builder
    Réponses: 6
    Dernier message: 08/02/2007, 13h12
  4. dessiner sur un composant picturebox
    Par xantares dans le forum VC++ .NET
    Réponses: 4
    Dernier message: 03/01/2007, 12h05
  5. Comment dessiner sur un Bitmap sans scintillement ?
    Par TOTO32 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 10/01/2005, 10h11

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