Dessiner dans une boite de dialog

olfa7183 Messages postés 17 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 27 septembre 2008 - 23 sept. 2008 à 11:23
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 - 23 sept. 2008 à 17:32
salut,
je veux creer un compteur qui compte les monnaie inserees.
tout d'abord je veux le dessiner puis le programmer.
pour le dessin j'ai utilisé le code suivant:
void Cinsert_Tunisiana::OnPaint()
{
    if (IsIconic())
    {
    CPaintDC dc(this); // Contexte de dispositif pour peinture
   
    // TODO: Add your message handler code here
        SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

        //sympole dans le  rectangle de client centrent
        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;

        // Le symbole dessinent
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
    // Do not call CDialog::OnPaint() for painting messages
}
lors de l'execution rien ne s'affiche
svp aidez moi je suis debutante en c++ et donnez moi svp une idee comme je peux declarer les monnaies dans mon programme.
merci d'avance

1 réponse

ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
23 sept. 2008 à 17:32
Salut !

Ca fait un paquet d'années que j'ai pas touché aux MFC donc je t'aiderai pas de ce coté.

Par contre, je comprend pas pourquoi tu dessines le symbole avec une icone. Tu ne pouvais pas tout simplement afficher le symble monétaire sous forme de chaine de texte ? Ils sont tous disponibles en unicode.

De mémoire, et en regardant le code, m'est avis que si l'icone ne se dessine pas c'est essentiellement parce que ton object "Cinsert_Tunisiana" n'est pas "iconic". Debug dans ce if, ya de bonne chance que ton code soit tout simplement pas éxécuté car la méthode "IsIconic()" retourne false.

Extrait de MSDN :
IsIconic Function


--------------------------------------------------------------------------------


The IsIconic function determines whether the specified window is minimized (iconic).

Le travail c'est la santé, ne rien faire c'est la préserver !!!
0
Rejoignez-nous