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 :

Sizing de StringGrids


Sujet :

C++Builder

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Par d�faut Sizing de StringGrids
    Bonjour,

    Je suis entrain de programmer le remplissage automatique de 2 StringGrids avec des infos textes de type "0xXX" ... (taille du texte en fonction du nombre d'octets qu'on lit sur le port COM1 via un autre PC qui est en mode �mission de donn�es).

    Mon probl�me se situe dans le sizing des tableaux. En effet, je souhaite avoir des tableaux qui se dimensionne en fonction de la longueur des infos que j'affiche.
    J'arrive correctement � d�finir la taille de la colonne n�cessaire pour que le texte s'affiche avec suffisamment de place, cependant je souhaite limiter la taille globale des tableaux. En effet, si on re�oit 30 messages de types "0xXX", je voudrais que la taille du tableau se limite � une valeur max que je d�finis et qu'il me rajoute �ventuellement une barre de d�filement pour permettre � l'utilisateur de parcourir la totalit� de la colonne par exemple.

    J'ai fait un printscreen du probl�me. On voit bien qu'on peut que lire les 16 premi�res infos et le premier 0 de la 17�me infos... Mon programme limite la taille du tableau � son max avec ceci:

    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
    #define CHARTS_WIDTH_MAX     500
    ...
    unsigned short int mg_length_cmd;
    unsigned short int mg_chart1Width;
    ...
    ...
    // AFFICHAGE DES DONNEES SUR LE TABLEAU
    ...
    mg_length_cmd = strngrd_table1->Canvas->TextWidth(strngrd_table1->Cells[1][mg_tab1_line]);
    ...
    strngrd_table1->ColWidths[1] = mg_length_cmd + 20;     // Rajout d'espace 
    ...
    mg_chart1Width = strngrd_table1->ColWidths[0] + strngrd_table1->ColWidths[1] + 15;
    if (mg_chart1Width < CHARTS_WIDTH_MAX)
    {
        strngrd_table1->Width = mg_chart1Width;
    }
    else
    {
        strngrd_table1->Width = CHARTS_WIDTH_MAX;
    }


    Merci de vos r�ponses
    Images attach�es Images attach�es  

  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
    Salut gilles68
    Si je comprend bien ce que tu demande, tu devrais regarder du cote de la propriete ScrollBars et voir si elle est sur ssBoth

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Par d�faut
    J'ai v�rifi� l'option du stringGrid et ce dernier est bien configur� en ScrollBar = ssBoth...

    J'ai tent� de rajouter une colonne et lors de la g�n�ration du tableau, la barre de d�filement horizontale apparait. Je ne comprend pas tr�s bien le probl�me...
    Si j'augmente la taille de la colonne qui contient le message, le tableau reste le m�me. Je pense que le re-sizing du tableau pose un soucis mais sans en savoir davantage.

    J'ai peut �tre un d�but de r�ponse: en mettant la valeur de FixedCols � 0 (pr�c�demment � 1), la barre de d�filement horizontale apparait mais pas avec le texte entier. Je continue de chercher

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Par d�faut
    Il y a peut �tre une valeur dans les options du stringGrid � mettre � true ou false pour permettre le re-sizing. J'essaie de trouver �a ...

  5. #5
    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
    Quel est ta version de Builder?
    J'ai vu ce probl�me sur un TRichEdit, et je l'ai "r�solu" en utilisant un TMemo � la place. C'�tait avec BCB6 sur un PC portable avec XP.

    Donc, soit tu r�-installe Builder en croisant les doigts, soit tu utilises un autre composant.
    Par d�faut, les propri�t�s sont bonne pour ce genre de probl�me, donc je n'ai malheureusement pas trop d'autre solution � te proposer.

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Par d�faut
    J'ai abandonn� cette histoire de re-sizing du tableau et je me suis juste limit� � une taille max pour la fen�tre et �a me convient � peu pr�s.
    Merci pour vos r�ponse

Discussions similaires

  1. StringGrid sort
    Par clovis dans le forum C++Builder
    R�ponses: 4
    Dernier message: 20/10/2004, 21h46
  2. StringGrid, multiligne et word wrap
    Par Dajon dans le forum C++Builder
    R�ponses: 7
    Dernier message: 17/09/2003, 17h15
  3. D�placer la s�lection d'une ligne dans un stringgrid
    Par jer64 dans le forum Composants VCL
    R�ponses: 5
    Dernier message: 14/03/2003, 00h57
  4. Multi lignes dans un StringGrids ?
    Par Xavier dans le forum C++Builder
    R�ponses: 3
    Dernier message: 27/11/2002, 23h15
  5. StringGrid et colonnes
    Par Delph dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 02/08/2002, 11h35

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