Bonjour, j'ai un petit probl�me avec une de mes pages (modeless dialog).
J'ai une petit bout de code qui me permet de calculer un point x,y,z et mon but et l'afficher a chaque fois qu'il change, voici mon code:
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 // Boîte de dialogue CCalculatePoints IMPLEMENT_DYNAMIC(CCalculatePoints, CDialog) CCalculatePoints::CCalculatePoints(CWnd* pParent /*=NULL*/) : CDialog(CCalculatePoints::IDD, pParent) { varXDot1 = 0; varYDot1 = 0; varXDot2 = 0; varYDot2 = 0; } void CCalculatePoints::CalculatePos() { //calcule de nouveau x,y varXDot1 = varXDot1 *5; varYDot1 = varYDot1 *5; varXDot2 = varXDot2 *15; varYDot2 = varYDot2 *15; // J'ai testé toute les méthodes ci-dessous sans succès. //this->Invalidate(); //OnPaint(); //Repaint(); /*InvalidateRect( Invalidate( HWND hWnd= (HWND)cvGetWindowHandle("window name"); ::SendMessage(hWnd,WM_PAINT,NULL,NULL);*/ } void CCalculatePoints::OnPaint() { CPaintDC dc(this); // device context for painting // TODO : ajoutez ici le code de votre gestionnaire de messages // N'appelez pas CDialog::OnPaint() pour la peinture des messages CBrush brush(0x00FFFFFF); dc.SelectObject(&brush); dc.Ellipse(int(varXDot1)-10,int(varYDot1)-10,int(varXDot1)+10,int(varYDot1)+10); } CCalculatePoints::~CCalculatePoints() { } void CCalculatePoints::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CCalculatePoints, CDialog) ON_WM_PAINT() END_MESSAGE_MAP()
Lors du d�marrage de mon prog, il affiche bien mon premier cercle, mais par la suite, je peux pas le redessiner avec les nouvelles valeurs..
Merci de me mettre sur la voie..
kiev333
Partager