Bonjour à tous,

c'est la première fois que je participe à ce forum ; j'espère que je serai suffisament clair
j'ai déjà développé quelques applications avec les MFC auparavant.

Pour celle-ci, j'utilise la librairie PGL http://www.codeproject.com/miscctrl/pgllib.asp
qui permet d'afficher facilement des courbes dans leurs repères.

CMainFrame est de la classe CFrameWnd
CGavrocheAPP de la classe CWinApp
CPGLGraphView de la classe CView

Pour afficher une courbe, j'ai le code suivant (fourni par l'auteur) et qui fonctionne :

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
 
void CMainFrame::AfficherCourbeXFY() {
 	// TODO: Add your command handler code here
 
 	// setting graph
 CPGLGraph* pGraph = ((CGavrocheApp*)AfxGetApp())->GenererGraphiqueXFY();
 
if (pGraph) {
 
	pGraph->ZoomAll(TRUE);
     ((CPGLGraphView*)GetActiveView())->SetGraph(pGraph );
 
 	GetActiveView()->InvalidateRect(NULL,FALSE);
 
		} //if
 }//proc
GenererGraphiqueXFY() sert à entrer les valeurs (x,y) dans l'objet pGraph et la suite à afficher la courbe.


MON PROBLEME :
lorsque CGavrocheApp intercepte une commande du menu,
je veux alors afficher la courbe, donc lancer la procedure
AfficherCourbeXFY()
(donc que CGavrocheApp lance une procedure de CMainFrame, d'où mon titre)

Et là, je ne sais plus faire ....
en faisant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
CMainFrame::AfficherCourbeXFY();
(désolé, c'est peut-être une horreur d'écrire ça)
j'ai une erreur C2352
"illegal call of non-static member function"

Comment m'en sortir ?
Merci d'avance de bien vouloir vous intéresser à mon problème

Philippe
[a l'avenir utilise la balise de code ,Merci Farscape]