wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 3

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» wxGrid : modifier la taille minimale des labels des colonnes
Conversation (Résolue) : wxGrid : modifier la taille minimale des labels des colonnes
29-06-2010 16:09:12  wxGrid : modifier la taille minimale des labels des colonnes #1
milope (Membre)
Inscrit le : 07-01-2010
Messages: 34
Snippets: 0
Tutoriels: 0
Hors ligne
Bien le bonjour,

Apres avoir tripatouillé pas mal de fonctions, je me retrouve dans une belle impasse :
je n'arrive pas à trouver comment modifier la taille minimale des labels des colonnes de mon wxGrid !

En effet, le probleme est que ma grille empêche l'utilisateur de donner une taille inferieure à celle du label d'une colonne.
J'aimerai que le label soit tronqué !

J'ai lu dans la doc que SetColMinimalAcceptableWidth() servait à cela, mais malheureusement, elle n'a aucun effet !

Merci d'avance !

C::B 10.05
wx 2.8.10 (unicode), Linux et MinGW
2 Intel Xeon 3GHz, 2G ram sous Ubuntu 10.04
29-06-2010 23:09:54  Re: wxGrid : modifier la taille minimale des labels des colonnes #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1375
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Tu peux mettre un peux de code (notamment la création et l'initialisation du contrôle wxGrid), parce que je viens juste de faire l'essai, et la méthode SetColMinimalAcceptableWidth() fonctionne à merveille.

Code wxWidgets:

m_grd=new wxGrid(this, -1);
m_grd->CreateGrid(10,5);
m_grd->SetColLabelValue(2,_T("wxWidgets"));
m_grd->SetColMinimalAcceptableWidth(5);


Avec le code ci-dessus, la colonne intitulée "wxWidgets" peut être réduite à 5 pixels de large (d'ailleurs, on ne voit quasiment plus rien dans ce cas).

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
30-06-2010 10:36:22  Re: wxGrid : modifier la taille minimale des labels des colonnes #3
milope (Membre)
Inscrit le : 07-01-2010
Messages: 34
Snippets: 0
Tutoriels: 0
Hors ligne
Re !
Voici un extrait du code :
   

Code Cpp:

    Grid1 = new wxGrid(this, ID_GRID1, wxPoint(168,184), wxDefaultSize, 0, _T("ID_GRID1"));
    //Grid1->SetColMinimalAcceptableWidth(1);
 
    Grid1->CreateGrid(0, 1);
    //Grid1->SetColMinimalAcceptableWidth(1);
 
    Grid1->InsertRows(0, iNombreLignesComposantARemplir);
 
    (...)
    for (int i = 0; i < iNombreLignesComposantARemplir; i++)
        Grid1->SetRowLabelValue(i, LabelLigneComposantGrid1[i].NomLabel);
    (...)
 
    //Grid1->SetColMinimalAcceptableWidth(1);

Les lignes commentées correspondent aux différents essais, sans succès...
J'imagine que le 'wxDefaultSize' lors de la création y est pour quelque chose, mais même echec en le modifiant :/

Dernière modification par milope (01-07-2010 09:43:03)


C::B 10.05
wx 2.8.10 (unicode), Linux et MinGW
2 Intel Xeon 3GHz, 2G ram sous Ubuntu 10.04
30-06-2010 11:54:07  Re: wxGrid : modifier la taille minimale des labels des colonnes #4
Sem (Membre)
Inscrit le : 31-05-2008
Messages: 64
Snippets: 0
Tutoriels: 0
Hors ligne
bonjour,
juste une question, pourquoi ne fais tu pas directement le CreateGrid avec le nombre de ligne si tu connais déjà le nombre de ligne que tu auras.
Par exemple:

Code wxWidgets:

 
Grid1 = new wxGrid(this, ID_GRID1, wxPoint(168,184), wxDefaultSize, 0, _T("ID_GRID1"));
Grid1->CreateGrid(iNombreLignesComposantARemplir, 1);
for (int i = 0; i < iNombreLignesComposantARemplir; i++)
{
   Grid1->SetRowLabelValue(i, LabelLigneComposantGrid1[i].NomLabel);
}
 
Grid1->SetRowLabelValue(1, wxS("Ma colonne"));
Grid1->SetColMinimalAcceptableWidth(1);


je pense pas que cela vienne du wxDefaultSize,
Sem
01-07-2010 09:42:23  Re: wxGrid : modifier la taille minimale des labels des colonnes #5
milope (Membre)
Inscrit le : 07-01-2010
Messages: 34
Snippets: 0
Tutoriels: 0
Hors ligne
Sem:
(...)pourquoi ne fais tu pas directement le CreateGrid avec le nombre de ligne si tu connais déjà le nombre de ligne que tu auras.(...)
Tout simplement car c'est extrait d'une autre fonction : le nombre de lignes depend d'autres paramètres pas visibles à l'initialisation (j'ai édité le message :) )
----------
Bon ben finalement, la fonction SetColMinimalAcceptableWidth(x) fonctionne à merveille !
Je m'étais juste trompé de grille :D

Dernière modification par milope (02-07-2010 13:43:12)


C::B 10.05
wx 2.8.10 (unicode), Linux et MinGW
2 Intel Xeon 3GHz, 2G ram sous Ubuntu 10.04
02-07-2010 14:57:39  Re: wxGrid : modifier la taille minimale des labels des colonnes #6
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1375
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
milope:
Bon ben finalement, la fonction SetColMinimalAcceptableWidth(x) fonctionne à merveille !
Je m'étais juste trompé de grille :D
On ne fera aucun commentaire, mais on n'en pense pas moins... :rolleyes:

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» wxGrid : modifier la taille minimale des labels des colonnes