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.

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
Rejoignez-nous