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 :

[MFC] SDI - actualisation de CGridCtrl


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut [MFC] SDI - actualisation de CGridCtrl
    bonsoir,

    dans mon projet SDI j'utilise des CGridCtrl .

    Mon appli est une esp�ce de tableur, les CGridCtrl ressemblant fortement � des feuilles Excel.

    Certaines cellules doivent prendre une valeur (abus de langage) selon ce que contiennent d'autres cellules.

    (les cellules bleues sont modifiables par l'utilisateur, les autres sont soit fig�es, soit d�pendantes des bleues)

    mon probl�me est que je ne sais pas comment faire pour que le fait de modifier le champ d'une cellule entra�ne le recalcul (et le r�affichage) du CGridCtrl (ou mieux, uniquement des cellules susceptibles d'�tre modifi�es par cette action).

    j'ai bien une vague id�e, mais je ne suis pas sur du message � intercepter.

    NOTE : CGridCtrl est un "custum control" (i.e. on ne propose pas de messages dans le classwizard)

    merci

  2. #2
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    le grid est avant tout une fenetre simple ,pour raffraichir une fenetre il suffit de faire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    m_Grid.Invalidate();

  3. #3
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    salut,

    :o ok pour le Invalidate(),

    mais la question que je me pose, c'est o� dire "l'utilisateur a modifi� une cellule, r�actualiser" ?

    je fais un OnChangeQuelquechose() ?

    je d�clare la fonction dans la classe du Dialog qui contient le CGridCtrl ?

    pour l'instant, ce que je sais faire c'est une action quand on appuie sur un bouton, ou quand on clique sur quelquechose. (et le classwizard me propose les choix pour le control)

    l� �a ressemble un peu � un �v�nement CLICK, ou peut-�tre ONCHANGE ?

    c'est dans cette m�thode que je mets le Invalidate() ?

  4. #4
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    si tu regardes le header GridCtrl.h il y a des notifications d'evenements envoy�s a la classe parent :
    par exemple:
    GVN_ENDLABELEDIT qui t'informe fe la fin d'edtion d'une cellule.
    ces messages sont a mettre manuellement dans le message map de la classe parent sous forme de message notify :
    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
     
    BEGIN_MESSAGE_MAP(CDlg,CDialog)
    	//{{AFX_MSG_MAP(CDlg)
    	ON_WM_DESTROY()	
    	//}}AFX_MSG_MAP
    ON_NOTIFY(GVN_ENDLABELEDIT, IDC_GRID, OnEndInPlaceEdit)
    ON_NOTIFY(GVN_BEGINLABELEDIT,IDC_GRID, OnBeginInPlaceEdit)
    ON_NOTIFY(GVN_DELETEITEM,IDC_GRID, OnDeleteItem)
     
    END_MESSAGE_MAP()
     
    //-------------------------------------------------------------------
    void CDlgInputOrders::OnEndInPlaceEdit(NMHDR* pNMHDR, LRESULT* pResult)
    {
    	GV_DISPINFO *pgvDispInfo = (GV_DISPINFO *)pNMHDR;
            GV_ITEM     *pgvItem = &pgvDispInfo->item;
    //..................
    }

  5. #5
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    rock'n'roll !

    j'ai fais un ptit test qui marche (afficher le nom du CGridCtrl qui a �t� modifi�).

    on verra plus tard pour coder l'action � r�aliser (mettons dans 2 ou 3 heures )

    merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [MFC] (SDI) raccourcis clavier
    Par tut dans le forum MFC
    R�ponses: 6
    Dernier message: 07/04/2006, 11h37
  2. R�ponses: 21
    Dernier message: 09/02/2005, 08h35
  3. [MFC] SDI - pb avec OnInitialUpdate()
    Par bigboomshakala dans le forum MFC
    R�ponses: 6
    Dernier message: 22/11/2004, 14h30
  4. [MFC/SDI] BMP a la place d'un bouton
    Par gargle dans le forum MFC
    R�ponses: 2
    Dernier message: 28/07/2004, 11h26
  5. R�ponses: 4
    Dernier message: 14/06/2004, 09h29

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