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 afficher un ProgressBar dans une DBGrid


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    35
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 35
    Par d�faut Comment afficher un ProgressBar dans une DBGrid
    Bonjour,

    je d�veloppe sous BDS 2006 (Builder C++).
    Je cherche � dessiner un composant ProgressBar dans une cellule de DBGrid.
    Je voudrai simplement afficher une valeur de pourcentage de fa�on graphique.

    Je sais comment afficher une image dans une cellule (trouv� grace � la FAQ C++ Builder), mais je ne trouve rien pour afficher autre chose, que ce soit un ProgressBar ou tout autre composant.

    Si quelqu'un a une id�e ... merci d'avance.

  2. #2
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut
    Si tu arrive � afficher un composant vcl type TImage dans une cellule d'un dbgrid, rien ne t'emp�che d'ancrer un TProgressBar.

    Tu peux montrer la fa�on que tu as adapt� avec un TImage ?

  3. #3
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    35
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 35
    Par d�faut
    Voici le code utilis� pour faire afficher une image "Coch�" ou "D�coch�" dans une cellule de DBGrid correspondant � un champ bool�en :
    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
    19
    20
    21
    22
    23
    24
    void __fastcall TFrmTableSelection::DBGrid1DrawColumnCell(TObject *Sender,
          const TRect &Rect, int DataCol, TColumn *Column, TGridDrawState State)
    {
    if ((String) Column->FieldName == "VALIDITE_CATEGORIE")
        {// on efface la cellule
         DBGrid1->Canvas->FillRect(Rect);
         if (Column->Field->Value.IsNull() == false)
    	{if ((int) Column->Field->Value != 0)
    	    {// case cochée
    	     ImageListCoche->Draw(DBGrid1->Canvas,
    	     Rect.Left + ((Rect.Right - Rect.Left - ImageListCoche->Width) / 2),Rect.Top,1,true);
    	    }
    	 else
    	    {// case décochée
    	     ImageListCoche->Draw(DBGrid1->Canvas,
    	     Rect.Left + ((Rect.Right - Rect.Left - ImageListCoche->Width) / 2),Rect.Top,0,true);
    	    }
    	}
        }
    else
        {// ce n'est pas une cellule "case à cocher"
         DBGrid1->DefaultDrawColumnCell(Rect,DataCol,Column,State);
        }
    }
    Contrairement � ce que je disais dans mon premier message, cet exemple de code a �t� trouv� dans la Faq Delphi et non pas C++ Builder.

    La fonction DBGrid1DrawColumnCell() est li�e � l'�v�nement OnDrawColumnCell, qui se produit quand la grille doit redessiner une cellule.

    ImageListCoche est un composant TImageList contenant les 2 images de case coch�e et d�coch�e.

  4. #4
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut
    En gardant le m�me principe :
    Tu cr�es une fonction dont le param�tre est un entier repr�sentant le taux (entre 0 et 100) :
    1. Cette fonction prend en charge la cr�ation d'un Bitmap sur le quel elle ajoute un rectangle vide avec contour en bleu. La taille du Bitmap �tant la taille du rectangle +2 pixles
    2. En suite elle remplit le rectangle selon la valeur du param�tre en entr�e.
    (tu utilises MoveTo LineTo)
    3. La fonction te retourne ce Bitmap que tu injectes dans le code que tu as post�.

    Est-ce que j'ai �t� clair ?

  5. #5
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    35
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 35
    Par d�faut
    Ok, je vais chercher dans ce sens l�.
    Je ne suis pas tr�s � l'aise dans les fonctions de dessin, mais je vais m'y mettre.

    Merci

Discussions similaires

  1. R�ponses: 5
    Dernier message: 09/05/2007, 15h10
  2. comment afficher un CString dans une boite de dialog?
    Par meera dans le forum Visual C++
    R�ponses: 22
    Dernier message: 04/11/2006, 12h04
  3. R�ponses: 13
    Dernier message: 09/03/2006, 18h17
  4. Comment afficher des JPEG dans une application Delphi ?
    Par Bouguennec dans le forum Composants VCL
    R�ponses: 4
    Dernier message: 17/09/2005, 21h18
  5. Comment afficher les toolTipText dans une zone de statut ?
    Par nicok01 dans le forum VB 6 et ant�rieur
    R�ponses: 7
    Dernier message: 28/01/2005, 13h32

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