[c++]Mettre une procédure de fenetre dans une class
Bonjour à tous,
Je suis en train de créer une class TABLEAU dans laquelle se trouve une WNDCLASSEX appelée cTableau!
La procédure de fenetre de cTableau doit absolument manipuler des éléments private de la class TABLEAU.
Du coup, je dois obligatoirement mettre la WindowProc dans la class TABLEAU.
J'écris donc, dans le fichier tableau.h
Code:
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
|
#ifndef TABLEAU_H_
#define TABLEAU_H_
#include <windows.h>
typedef struct _CASE{
RECT coordonnees;
char contenu[250];
}CASE;
class TABLEAU
{
private:
CASE (* cases)[2];
HWND edit_temporaire;
char buffer[250];
CASE *pCase;
WNDCLASSEX cTableau;
int nLignes,nColonnes;
//Les méthodes associées
LRESULT CALLBACK procedure(HWND , UINT , WPARAM , LPARAM );
public:
TABLEAU(HINSTANCE hInstance,int nLignes, int nColonnes);
};
#endif |
Et, le constructeur de cette classe initialise les membres de la WNDCLASSEX cTableau.
Je suis donc amené à écrire
Code:
1 2
|
cTableau.lpfnWndProc=procedure; |
Le problème c'est que mon compilateur me renvoie l'erreur suivante sur cette ligne :
Citation:
argument of type 'LRESULT(TABLEAU::)(HWND__*,UINT,WPARAM,LPARAM)'does not match 'LRESULT (*)(HWND__*,UINT,WPARAM,LPARAM)'
Voilà! J'aimerais savoir d'où provient cette erreur et comment la contourner.
Merci d'avance.
Spartan03