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

MFC Discussion :

[MSFlexGrid] problème générale


Sujet :

MFC

  1. #1
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut [MSFlexGrid] problème générale
    J'ai ajouté sur ma form une MSFlexGrid (ID=IDC_MSFLEXGRID)
    Mais je n'arrive pas du tout à l'utiliser.
    j'avais vu quelques posts, ou il parlait de la classe CMSFlexGrid. Mais je n'ai pas réussi à la trouver (du moins à savoir quel .h includer, il me met objet non reconnu).

    J'ai tenté alors d'importer :
    et j'utilise ensuite ma FlexGrid comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MSFlexGridLib::IMSFlexGrid *grid=(MSFlexGridLib::IMSFlexGrid*)GetDlgItem(IDC_MSFLEXGRID);
    après,
    quand je fais grid->, j'ai plein de fonctions possibles mais dès que j'en utilise une, le programme plante (alors que ca compile) à cette ligne.
    par exemple, je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grid->TextMatrix[1][1] = "Name";
    et à cette ligne, j'obtiens:
    Unhandled exception in ....exe : 0xC0000005 = Access Violation

    voilà, en fait j'utilise un IMSFlexGrid (mais je ne sais pas top ce que sait). Est-ce que le problème peut venir de là. J'aurais préféré utiliser un CMSFlexGrid (comme sur les posts que j'ai trouvé) mais je ne sais pas ce qui faut faire en include

  2. #2
    tut
    tut est déconnecté
    Membre averti
    Avatar de tut
    Inscrit en
    Juillet 2002
    Messages
    373
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 373
    Points : 394
    Points
    394
    Par défaut
    regarde ça, peut-être que ça peut t'aider
    http://groups.google.fr/groups?hl=fr....jp%26rnum%3D7

  3. #3
    mat.M
    Invité(e)
    Par défaut
    J'ai ajouté sur ma form une MSFlexGrid (ID=IDC_MSFLEXGRID)
    Mais je n'arrive pas du tout à l'utiliser.
    j'avais vu quelques posts, ou il parlait de la classe CMSFlexGrid. Mais je n'ai pas réussi à la trouver (du moins à savoir quel .h includer, il me met objet non reconnu).

    Je n'arrive pas à comprendre ton problème . J'ai fait un petit projet de test avc une grille Msflexgrid en 5 minutes , ça marche impeccablement.
    Il faut utiliser Class Wizard sous VC++ 6.0 et déclarer une variable membre de type MSFLEXGRID.


    Répondre oui au question de l'IDE à savoir si les fichier msflexgrid.cpp,picture.cpp et rowcursor.cpp doivent être générés



    Si tu as une exception c'est que , erreur classique et on s'en saurait douté, l'instance de l'objet n'a pas été crée et accés méthode sur pointeur NULL.



    Pour incorporer une grille à son projet , il faut aller dans l'éditeur de ressources , faire un clic droit sur la fenêtre de dialogue et choisir l'Active X voulu.
    Un/ des fichier .cpp correspondant est généré

    Il comporte toutes les méthodes et propriétés de l'objet
    Peut-être aussi cela vient-il de l'appel de la méthode
    ça fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void CTestDlgDlg::OnButton1() 
    {
    m_grille.SetTextMatrix(1,1,"Toto");

    }

  4. #4
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Citation Envoyé par addicted_to_MFC

    Pour incorporer une grille à son projet , il faut aller dans l'éditeur de ressources , faire un clic droit sur la fenêtre de dialogue et choisir l'Active X voulu.
    Un/ des fichier .cpp correspondant est généré
    c'est exactement ce que j'ai fais

    Citation Envoyé par addicted_to_MFC
    Il comporte toutes les méthodes et propriétés de l'objet
    Peut-être aussi cela vient-il de l'appel de la méthode
    ça fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void CTestDlgDlg::OnButton1() 
    {
    m_grille.SetTextMatrix(1,1,"Toto");
    }
    par contre, il ne m'a pas généré d'attributs tels que ton m_grille. C'est normal ou bien il faut faire un truc ? C'est pour ca que je pensais être obligé de passer par le ID et un pointeur.

  5. #5
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    ca marche maintenant.
    en fait, quand j'ai créé la msflexgrid, il n'importe pas le fichier correspondant (msflxgrd.ocx) et je ne savais pas comment créer l'attribut correspondant (maintenant je sais (classWizard et on double-clique sur l'ID, c'est là qu'il m'avait indiqué que la classe n'avait pas été importé). Pourtant il me semblait l'avoir fait avant à la main.
    Bref, c'est pas grave, maintenant ca marche. J'utilise cependant encore L'ID et le pointeur sur cette ID (le temps que je maîtrise la création d'attributs sur les composants visuels).

    Merci à tous.

  6. #6
    mat.M
    Invité(e)
    Par défaut
    Bref, c'est pas grave, maintenant ca marche. J'utilise cependant encore L'ID et le pointeur sur cette ID (le temps que je maîtrise la création d'attributs sur les composants visuels).
    Sinon tu peux avoir recours à GetDlgItem également comme tu l'as fait.
    Si le pointeur n'est pas crée c'est qu'il ya un problème ou que la classe n'est pas initialisée..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] Problème rafraîchissement MSFlexGrid
    Par Dwain dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 10/01/2007, 18h11
  2. [VB.net express edition] problème avec MSFlexGrid et MSChart
    Par kinganasius dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/12/2006, 16h12
  3. Problème de conversion avec MSFlexGrid
    Par philippef dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 16/08/2006, 18h08
  4. [VB6] Problème MsFlexgrid et Fusion des cellules
    Par dubidon dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/02/2006, 09h00
  5. Réponses: 5
    Dernier message: 17/06/2004, 23h38

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