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 :

Comment acceder au Canvas d'un Panel


Sujet :

C++Builder

  1. #1
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut Comment acceder au Canvas d'un Panel
    Salut!

    Voila, je voudrais pouvoir dessiner dans un TPanel, mais apparament le Canvas est protégé puisque quand j'appelle Panel1->Canvas, ca fait l'erreur suivante :

    [C++ Erreur] Unit1.cpp(111): E2247 'TCustomControl::Canvas' n'est pas accessible.

    voila, si qq a une solution...

    merci!

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut
    Un TPanel ne possède pas de Canvas.
    Pour utiliser un Canvas dans un Panel il faut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    TControlCanvas* pcanvas = new TControlCanvas;
    pcanvas->Parent = Panel1;
    ...
    ...
    delete pcanvas.

  3. #3
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    il n'y a pas de propriété Parent dans TControlCanvas ...

  4. #4
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    J'ai trouvé la solution, il faut dériver TPanel et mettre Canvas en public :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class MonPanel : public TPanel
    {
            public :
                    __property Canvas;
    };

    Ensuite on appelle le canvas comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MonPanel * mp = (MonPanel*) Panel1;
    ...
     ... mp->Canvas ...

    merci quand meme

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/08/2006, 19h40
  2. Comment acceder à un champ d'une maniere dynamique ?
    Par jpg dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/11/2004, 16h23
  3. Comment acceder à une base de donnée F1.db_ ?
    Par diado dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 26/12/2003, 09h09
  4. comment acceder a un component lui meme dans un panel
    Par mimosa7 dans le forum Composants
    Réponses: 2
    Dernier message: 17/11/2003, 00h02
  5. [VB6] Comment accéder a la visionneuse d'API ??
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/11/2002, 13h57

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