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 :

Problemes apres avoir derive un TGroupBox


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut Problemes apres avoir derive un TGroupBox
    Bonsoir
    Je derive un TGroupBox sur lequel je met les bordures a None, je redifini ces bourdures pour avoir des epaisseurs differentes et uniformes sur le contour, et cela fonctionne cependant il me reste trois problemes
    1 - je ne peut pas definir la couleur de la bordure j'ai une exception
    2 - je n'ai pas trouve comment recupere les coordonnees de la position du composant pour automatiser cette fonction " pCn->Rectangle(2, 4, 445, 187); "
    3 - sur ce composant les TLabel et TImage disparaisent lors du trace des bordures je pense qu'elles passent sous le TGroupBox, mais pas les TEdit ni les TMemo
    voici le code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    TControlCanvas *pCn;
    pCn = new TControlCanvas();
    pCn->Control = GroupBox1;
    //pCn->Pen->Color = clBlack; // ici erreur
    pCn->Pen->Width = 4;
    pCn->Rectangle(2, 4, 445, 187);
    delete pCn;
    }

  2. #2
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Je viens de trouver comment afficher les composants lors du retracage des bordures
    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
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    TControlCanvas *pCn;
    pCn = new TControlCanvas();
    pCn->Control = GroupBox1;
    //pCn->Pen->Color = clBlack; // ici erreur
    pCn->Pen->Width = 4;
    pCn->Rectangle(2, 4, 445, 187);
    delete pCn;
    GroupBox1->RemoveControl(Label1); // on enleve le composant
    GroupBox1->InsertControl(Label1); // on replace le composant
    GroupBox1->RemoveControl(Image2); // on enleve le composant
    GroupBox1->InsertControl(Image2); // on replace le composant
    }
    il me reste a trouver comment changer la couleur du contour et comment recuperer les coordonnees

  3. #3
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    Chez moi, �a marche bien, j'ai C++ Builder 6 Entreprise. Bien s�r, ce n'est qu'un essai de syntaxe (puisque vous faites ensuite un delete) mais l'instruction pCn->Pen->Color = clYellow marche sans erreur � l'ex�cution.

    � bient�t
    Gilles

  4. #4
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    J'ai trouve pour recupere les coordonnees
    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
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    GroupBox1->Ctl3D = false; // supprimer l'effet 3D
    int x = GroupBox1->Width;
    int y = GroupBox1->Height;
    TControlCanvas *pCn;
    pCn = new TControlCanvas();
    pCn->Control = GroupBox1;
    //pCn->Pen->Color = clBlack; // ici erreur
    pCn->Pen->Width = 2;
    pCn->Rectangle(1, 1, x, y);
    delete pCn;
    GroupBox1->RemoveControl(Label1); // on enleve le composant
    GroupBox1->InsertControl(Label1); // on replace le composant
    GroupBox1->RemoveControl(Image2); // on enleve le composant
    GroupBox1->InsertControl(Image2); // on replace le composant
    }
    Il me reste a trouver comment definir la couleur du contour

  5. #5
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Merci d'avoir teste Gilles Lou�se
    J'ai fait l'essai avec clYellow puis clRed j'ai toujours les erreurs
    [C++ Error] Unit1.cpp(28): E2015 Ambiguity between 'clRed' and 'Graphics::clRed'
    [C++ Warning] Unit1.cpp(28): W8018 Assigning const TColor to Graphics::TColor

  6. #6
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    Alors c'est d� � un conflit entre fichiers, �a arrive avec C++ Builder. Donc soit vous bidouillez les fichiers (les headers o� se trouvent les d�clarations propres � C++ Builder) et modifiez les noms (�a m'est arriv� et je crois avoir donn� des exemples dans mes Remarques de d�veloppement) soit vous ob�issez aux ordres et pr�cisez d'o� vient ce mot-cl� :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    pCn->Pen->Color = Graphics::clYellow;
    �a marchera ainsi car vous supprimez l'ambigu�t�.

    � bient�t
    Gilles

  7. #7
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Merci pour ta reponse Gilles Lou�se
    Ca fonctionne efectivement pour Pen->Color, Pen->Style, Brush->Color
    de plus tes remarques mon permis de trouver le probleme
    A l'origine le programme etait prevu pour exporter une Form vers un TImage qui est exporte vers un TPrinter, conformement a un exemple de l'aide en ligne je passais par le presse papier, pour cela j'avais declare " #include "QClipbrd.hpp ", comme j'ai supprime le passage vers le presse papier le " #include " n'est plus necessaire et mon erreur a disparue, par contre ta solution fonctionne dans tous les cas avec ou sans le " #include " meme si je comprend pas trop pourquoi

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 0
    Dernier message: 19/03/2014, 10h00
  2. R�ponses: 0
    Dernier message: 06/06/2011, 14h06
  3. R�ponses: 1
    Dernier message: 12/04/2010, 15h46
  4. [UIB] Probleme pour ecrire dans firebird apres avoir lu
    Par dehorter olivier dans le forum Connexion aux bases de donn�es
    R�ponses: 2
    Dernier message: 28/06/2007, 07h48
  5. [NAV 2004] Bug apr�s avoir renomm� la corbeille
    Par Halleck dans le forum Windows
    R�ponses: 2
    Dernier message: 29/02/2004, 21h06

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