Question

J'essaie d'utiliser la dernière grille de Code Project dans une boîte de dialogue, mais la grille est invisible.

m_Plist.AttachGrid (this, IDC_CREDENTIALS) renvoie la valeur true, mais l'espace réservé au texte statique dans lequel la grille doit être affichée ne peut pas être vu et la grille ne s'affiche jamais.

J'utilise un exemple de code d'ici http://www.codeproject.com/KB/MFC/UltimateGrid_Start.aspx?display=PrintAll& ;fid=452565&&ss; ; sort = Position & view = Quick & amp; select = 2629959 & amp; fr = 51 # Using_the_Grid_in_a_CDialog

J'ai installé la dernière mise à jour UltimateGrid72_Src_Update03.zip et Im avec VS2008 SP1.

Merci ...

BOOL CCredentials::OnInitDialog()
{
    CDialog::OnInitDialog();

    MyCug m_PList;

m_Plist.AttachGrid(this, IDC_CREDENTIALS);

}
Était-ce utile?

La solution

Je n'ai pas utilisé Ultimate Grid moi-même. Cependant, en regardant le code que vous avez posté, je peux voir qu'il y a probablement un problème: vous déclarez une instance de " MyCug " attachez-la, mais cette instance basée sur la pile sera détruite dès que la méthode OnInitDialog () existera. Ce que vous devez faire est de mettre la déclaration "MyCug m_PList;" en tant que membre de la classe de dialogue, de sorte que la durée de vie de l'objet de la grille soit la même que celle du dialogue.

Autres conseils

Je ne sais pas pourquoi votre grille ne s'affiche pas, il faut rechercher si elle se charge correctement à partir du modèle de boîte de dialogue et si elle est visible. Vous pouvez utiliser spy ++ (un outil distribué avec visual studio) pour voir quelles fenêtres sont réellement créées dans votre boîte de dialogue, où elles se trouvent, ainsi que les indicateurs et les styles qui y sont définis.

Après avoir créé et attaché la grille, ajoutez-vous des lignes et des colonnes comme défini dans les exemples?

Sinon, il n'y aura rien à voir.

Vous aurez besoin du code suivant dans MyCug :: OnSetup ():

void MyCug::OnSetup(){ 

    //*******Set the Rows and Columns
    SetNumberCols(10);
    SetNumberRows(10); 

} 

Cela provient du tutoriel de la version 7.2. J'ai beaucoup utilisé UG et je n'ai aucun problème avec VS2008. Mais je crée moi-même toute ma grille, je n’utilise pas de modèles de dialogue.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top