Bonjour à tous,

je suis en train de créer une appli sous microsoft visual C++ en utilisant les MFC.
Mon objectif est d'afficher en temps réel les données provenant d'un signal. (données dans un tableau).
J'ai créé mon axe Oxy dans OnDraw avec des LineTo et MoveTo, et j'affiche sur cet axe les données de mon signal. Le problème est que j'affiche mon signal non pas en temps réel mais fenêtre après fenêtre.
De plus, cela supprime au fur et à mesure mon axe Oxy.
Du coup j'affiche mon axe, ensuite une partie de mon signal, je redessine mon axe, la suite de mon signal, etc.. et ce jusqu'à la fin de mon signal.
Serait-il possible de créer mon axe Oxy quelque part afin de le rendre "fixe", j'entends par là qu'il ne soit pas modifiable par la suite.

PS: je suis un tout tout nouveau dans ce domaine

Merci par avance

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
 
void CfindejourneeView::OnDraw(CDC* pDC)
{
	CfindejourneeDoc* pDoc = GetDocument();
 
 
	/*ASSERT_VALID(pDoc);
	if (!pDoc)
		return;*/
 
 
	/*********************************************************************/
	/************************** DESSINS **********************************/
	/*********************************************************************/
 
CRect contour (40,20,740,620);
CRect BackGround(0,0,780,670); // definition d'un objet rectangle
 
 
 pDC->FillSolidRect(BackGround,RGB(0,0,0));// fait un rectangle plein avec la couleur voulue
 
 
	// nouvelle couleur du trait
 
	CPen StyloBlancPointille (PS_DOT, 0, RGB (255,255,255)); 
	//pOldPen = pDC-> SelectObject (& StyloBlancPointille); // POINTILLE BLANC
 
	CPen StyloBlanc (PS_SOLID, 0, RGB (255,255,255)); // BLANC
	//pOldPen = pDC-> SelectObject (& StyloBlanc);
 
	CPen StyloNoir (PS_SOLID, 0, RGB (0,0,0)); // NOIR
	//pOldPen = pDC-> SelectObject (& StyloNoir);
 
	CPen StyloGris (PS_SOLID, 0, RGB (120,120,140)); // GRIS
	//pOldPen = pDC-> SelectObject (& StyloGris);
 
	CPen StyloGrisPointille (PS_DOT, 0, RGB (120,120,140)); // GRIS
	//pOldPen = pDC-> SelectObject (& StyloGrisPointille);
 
	CPen StyloVert (PS_SOLID, 0, RGB (0,240,0)); // VERT
	//pOldPen = pDC-> SelectObject (& StyloVert);
 
	CBrush BrosseBlanche (RGB(255,255,255)); // BROSSE BLANCHE
	CBrush * pOldBrush = pDC-> SelectObject (& BrosseBlanche);
 
	pDC->FrameRect(contour,&BrosseBlanche);
 
 
 
 
CPen * pOldPen = pDC-> SelectObject (& StyloBlanc);
pDC->DrawFocusRect(contour);
 
pOldPen = pDC-> SelectObject (& StyloGris);
 
 
 //création des axes x et y
 
pDC->MoveTo(390,20); // axe des y
pDC->LineTo(390,620);
 
pDC->MoveTo(40,320); // axe des x
pDC->LineTo(740,320);
 
 
 
pOldPen = pDC-> SelectObject (& StyloGrisPointille);
 
	// pointillé valeurs x
 
int i = 0;
 
for (i=110;i<740;i+=70)
{
	if(i!=390)
	{
	     pDC->MoveTo(i,20); 
	     pDC->LineTo(i,620);
	}
 
}
 
 
//pointillé valeur y
for (i=95;i<620;i+=75)
{
	if(i!=320)
	{
	     pDC->MoveTo(40,i); 
	     pDC->LineTo(740,i);
	}
 
}
 
 
 
//graduations
 
pOldPen = pDC-> SelectObject (& StyloBlanc);
for (i=35;i<620;i+=15)
{
	pDC->MoveTo(388,i); 
	pDC->LineTo(393,i);
}
 
for (i=54;i<740;i+=14)
{
	pDC->MoveTo(i,318); 
	pDC->LineTo(i,323);
}
 
 
// dessin de mon signal contenu dans un tableau d'une classe annexe
 
pDoc->polytech->resoudre(700);
 
	for(int j=0;j<10;j++)
	{
		pOldPen = pDC-> SelectObject (& StyloVert);
		pDC->MoveTo(40,320);
 
		for(i=0;i<700;i++)
		{
			pDoc->polytech->param[i];
			pDC->LineTo((40+i),((pDoc->polytech->param[i]*150)+320));		
		}
		int kangourou=500;
		Sleep(kangourou);
 
		for(i=0;i<700;i++)
		{
 
			pDC->SetPixelV((40+i),((pDoc->polytech->param[i]*150)+320),RGB(0,0,0)); // permet de supprimer le trait que je viens de créer
			pDC->SetPixelV((40+i),((pDoc->polytech->param[i]*150)+319),RGB(0,0,0));
			pDC->SetPixelV((40+i),((pDoc->polytech->param[i]*150)+321),RGB(0,0,0));
		}
 
 
		Sleep(kangourou);
 
	}
 
}