Dessiner ds une boite de Dialog

enrageur
Messages postés
54
Date d'inscription
vendredi 22 octobre 2004
Statut
Membre
Dernière intervention
21 novembre 2008
- 2 févr. 2005 à 18:42
bayeto
Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010
- 4 févr. 2005 à 14:37
Je voudrais dessiner des figure simples pour le moment ( carre, rond,..) dans une boite de Dialog. Je ne sais pas du tout comment faire. Je programme sous Visual C++ 6 et en MFC.
A voir également:

3 réponses

bayeto
Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010

2 févr. 2005 à 20:46
Si c'est carrement dans le client du dialog, OnPaint peut t'aider: avec les fonctions Rectangle ou Ellipse de la classes CDC (ou plutôt CPaintDC dans ton cas)
0
enrageur
Messages postés
54
Date d'inscription
vendredi 22 octobre 2004
Statut
Membre
Dernière intervention
21 novembre 2008

3 févr. 2005 à 20:48
Merci j'ai essayer ca mais ca ne marche pas.
void CTestDlg::OnStart()
{
CPaintDC dc(this);

dc.Rectangle(100,100,100,100);

UpdateWindow();


}
OnStart est un bouton de la Dialog. Je ne comprends pas pourquoi ca ne marche pas.
0
bayeto
Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010

4 févr. 2005 à 14:37
En effet, c'est sur ca marchera pas. Par contre:

void CTestDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting


SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);


// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;


// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CPaintDC dc(this);


dc.Rectangle(100,100,200,200);


dc.Ellipse(300,300,150,150);


CDialog::OnPaint();
}
}
0