begin process at 2008 08 20 14:24:14
1 228 884 membres
250 nouveaux aujourd'hui
14 258 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : changement de bitmap [ Archives / Au secours ] (Sade)

changement de bitmap le 24/05/2003 16:33:48

Sade
Salut tous le monde.

J'ai un projet simple composé d'une boite de dialogue.
celle-ci comporte une picture appelé IDC_AFF1 de type bitmap, comportant comme image de départ IDB_BITMAP2

j'ai défini une méthode associé a un bouton qui me permet de remplacé le bitmap courant de IDC_AFF1 par IDB_BITMAP8.

le code de la méthode est le suivant :
{
CBitmap B;
CStatic * CS;
B.LoadBitmap(IDB_BITMAP8);
CS = reinterpret_cast<CStatic *>(GetDlgItem(IDC_AFF1));
CS->SetBitmap(HBITMAP(B));
}

ce code fonctionnement correctement.

afin de rendre l'utilisation plus global, j'ai decidé d'utilisé une classe, pour permettre de créer des méthodes sans se préoccuper de l'interface.

definition d'une classe appele "CAfficheur", a la quel je passe l'ensemble des bitmaps que je désire afficher (ex : IDB_BITMAP8), ainsi que les pictures (ex : IDC_AFF1)

Ma classe comporte plusieur méthode:

CBitmap TableauBitmap;
int TableauConteneur;
HWND Pt;

// ces trois méthodes permette de passe les paramètres
// a la classe

void CAfficheur::SetBitmap(int EnsBitmap)
{ // passe le bitmap en paramètre
TableauBitmap.LoadBitmap(EnsBitmap);
}

void CAfficheur::SetConteneur(int EnsConteneur)
{ // passe le conteneur en paramétre
TableauConteneur = EnsConteneur;
}

void CAfficheur::SetParentWindows(HWND _Pt)
{
Pt = _Pt;
}

Les méthodes précedente sont initialisé dans OnInitDialog()
de la facon suivante.
AffDigitale.SetBitmap(IDB_BITMAP8);
AffDigitale.SetConteneur(IDC_AFF1);
AffDigitale.SetParentWindows(this->m_hWnd);


// utilisé pour l'affichage
void CAfficheur::AfficheDigit()
{
CStatic * leBouton;
leBouton = reinterpret_cast<CStatic *>(GetDlgItem(Pt, TableauConteneur));

leBouton->SetBitmap(HBITMAP(TableauBitmap));
}

Le programme compile bien.
Se lance normalement.
mais plante lors de l'appel de la méthode AfficheDigit()







Classé sous : bitmap, idc, idb, aff1, cafficheur

Participer à cet échange

Livres en rapport

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS