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] Passage d'une structure dans une method


Sujet :

MFC

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 43
    Points : 30
    Points
    30
    Par défaut [MFC] Passage d'une structure dans une method
    Bonjour,

    J'ai fait un activex avec le wizard.

    J'ajouter une method (nom = "AddItem")
    Aucun paramètre


    Je me retrouve donc avec une belle fonction :
    void CXXX::AddItem()

    Maintenant je veux ajouter un tableau qui contient une structure.
    Pour la création de la structure pas de probleme le tableau nom plus sauf que je ne sais pas ou placer la declaration de ma structure.

    Ma fonction :
    void CXXX::AddItem(Sitem TabItem[50])
    Sa déclaration :
    [id(8)] void AddItem(Sitem TabItem[50]);

    Sauf que la structure Sitem il ne la reconnait pas car je la declare dans les déclaration de ma classe CXXX

    Comment puis je faire ?

  2. #2
    Membre émérite
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Points : 2 747
    Points
    2 747
    Par défaut
    rien compris. Si la structure est declaré dans ta classe, elle devrait etre reconnu. Essai CXXX::Sitem TabItem[50]

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Dans ton fichier .cpp qui contient
    inclue d'abord le .h qui continet la defnition de ta structure Sitem

    Puis inclut le .h qui contient la défintion de ta class.

    si c'est bien ce que tu veux dire

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    En fait avec un activex

    j'ai une classe principale que j'appelle ici CXXX

    Donc si je declare Ma structure SItem au debut de la page
    et que je fait une fonction

    CXXX:AddItem(SItem TabItem[50])
    Théoriquement ca marche,

    sauf que cette fontion est une method de l'activex et donc au moment de sa declaration comme method :
    [id(1)] void AddItem(Sitem TabItem[50]);

    Mon SItem n'est pas reconnu car il est declarer sur une autre page, mais je ne sais pas ou le declarer pour qu'il soit reconnu dans la method de l'activex, si je regarde avec le wizard pour créer la method , impossible de declérer un tableau ( TabItem[50] n'est pas accepté par le wizard) et le choix des variables est prédefini (long,short,etc...) et donc impossible de mettre ma structure.

  5. #5
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    pour ce pb il faut utiliser un argument LPUNKNOWN et caster ensuite vers le type desiré.
    exemple içi avec un logfont pour la fonction Get et Set .
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    void CMyCtrl::GetLogFont(LPUNKNOWN plogFont) 
    {
    	// TODO: Add your dispatch handler code here
    	LOGFONT lg;
    	if(m_pFont)
    	{
    		m_pFont->GetLogFont(&lg);
    		memmove((LOGFONT *)plogFont,&lg,sizeof(lg));
    		return;
    	}
    	CFontHolder *pHolder=&InternalGetFont();
    	if(pHolder)
    	{	
    		CFont *pFont = CFont::FromHandle(pHolder->GetFontHandle());		
    		if(pFont)
    		{
    			pFont->GetLogFont(&lg);
    			memmove((LOGFONT *)plogFont,&lg,sizeof(lg));
    		}
    	}	
    }
    // ------------------------------------------------------------------
    void CMyCtrl::SetLogFont(LPUNKNOWN pLogFont) 
    {
    	// TODO: Add your dispatch handler code here
    	if(m_hWnd!=NULL)
    	{	
    		if(m_pFont) delete m_pFont;
    		m_pFont = new CFont;		
    		m_pFont->CreateFontIndirect((LOGFONT *)pLogFont);
    		InvalidateControl();		
    	}
    }

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Ok very good

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

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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