Oui ok d'accord c'est une m�thode.
Mais tu peux utiliser la m�thode TRACE il me semble. :wink:
Version imprimable
Oui ok d'accord c'est une m�thode.
Mais tu peux utiliser la m�thode TRACE il me semble. :wink:
Ben trace tu peux sortir une valeur de variable tu peux accede au contenu du DC en Hexa mais bon c'est plus facile de l'avoir visuellement...
Cela dis je sais pas si tout �a interesse vincebel....
Oui c'est vrai que l'int�ress� ne se manifeste pas :D
:DCode:
1
2 AfxMessageBox("Bonne Année Everybody");
ay� je me montre, d�sol� mais j'avais des partiels en d�but de semaines donc r�visions champagne, r�visions d�cuvage.....
Enfin je suis de retour pour tester tout ce que vous me dites!!
salut ,
et bien commence a relire l'enfilade a partir de ce post :
http://www.developpez.net/forums/vie...560353#1560353
:D
C'est fait!! j'ai bien lu, rlu, ingurgit�!!!
Et voil� o� j'en suis:
1- le dernier code que tu m'as fil� n'affiche rien, le StrectchBlt termine bien par un 1, mais rien a l'�cran, mon bouton a toujours sont texte MyButton.
2- j'ai pas trop envie d'utiliser une nouvelle classe pour les boutons mais pourquoi pas.
3- le messageBox ou Trace ne me sert � rien puisque m�me en affichant qu'une seule image, elle s'affiche toujours dans le dernier controle, quelque soit le i de monBouton[i]
Depuis le d�but le GW_HWNDLAST me d�range. J'ai essayer de le remplacer par GW-HWNDNEXT ou GW_HWNDNEXT, je change de controle pour l'affichage. Je ne trouve pas comment recup�r�r le handle sur mon bon controle.
Une id�e?
J'ai essayer quelque chose avec ta classe CBtPicture, mais je n'arrive plus a l'inclure a mon projet.
Alors ma question est : faut-il copier tout le contenu (d�claration et impl�matation du constructeur et de DrawItem) dans un seul fichier *.h ou faire un *;h et un *.cpp? dans les deux cas j'ai des erreurs.
EDIT : C'est con, je me suis d�j� servi de ta classe, et �a marchait, mais j'y arrive plus snif
tu remis les coordonn�es a zero dans le strectch ?Citation:
Envoy� par vincebel
essaie de recouvrir la fenetre par autre chose pour voir si le paint ne fais pas apparaitre le bitmap.
:D
Bien jou�!!! Le probl�me venait du raffrachissement de la fenetre. J'ai rajouter un invalidate(FALSE) dans la fonction OnPaint et Hop �a marche :)
J'ai par l� suite rajouter ma boucle pour afficher sur tout mes boutons (ici 2 pour commencer)
Est-ce que �a te parait propre? (je sais tu pr�f�rerais CBtPicture, mais l� j'ai plus trop le temps :scarymov: )Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 for(i=0;i<2;i++) { CDC *pBtDC = m_MyButton[i].GetWindowDC(); m_MyButton[i].GetClientRect(&rect); HBITMAP hbt=(HBITMAP)LoadImage(NULL, "c:\\mer.bmp",IMAGE_BITMAP,0,0, LR_DEFAULTSIZE|LR_LOADFROMFILE); Bitmap.Detach(); Bitmap.Attach(hbt); // lecture bitmap dans les ressources BITMAP InfosBmp; // structure d'informations. Bitmap.GetBitmap(&InfosBmp); MemDC.DeleteDC(); MemDC.CreateCompatibleDC(pBtDC);// creation d'un DC en memoire MemDC.SelectObject(&Bitmap); // selection du bitmap dans le DC en memoire BOOL oooo=pBtDC->StretchBlt( 0, 0, rect.Width(),rect.Height(), &MemDC, 0, 0, InfosBmp.bmWidth, InfosBmp.bmHeight, SRCCOPY); m_MyButton[i].ReleaseDC(pBtDC); } Invalidate(FALSE);
salut,
pour eviter de prendre trop de temps sur le paint il faudrait que les bitmaps soient charg�s avant .
dans le paint on ne doit faire que l'affichage.
voili
:D
Comme je les affiche dans une boite de dialogue, je peux les charger dans la fonction OnInitialUpdate. Je peux d�clarer un tableau dynamique de CDC ou je stockerai les MemDC, et les afficher dans le OnPaint?
Je pense que c'est faisable, mais �a va devenir lourd en tableau dynamique :D :D
A propos de tableau dynamique, j'ai une question:
Comme je ne sais pas au pr�alable combien j'ai d'image � afficher (je connais juste la maxi : 6), et comme j'affiche mes images dans des CStatic ( ou CButton, c pareil), je dois d�clarer dynamiquement le tableau. Voil� ce que je voulais faire :
dans le *.h :
et dans le constructeur de la boite dialogue :Code:CStatic *m_MyButton;
Le probl�me, c'est que le constructeur de CStatic ou de CButton, ne prend pas mon param�tre 2.Code:m_MyButton = new CStatic(2);
Une solution?
re,
utilise un CArray .
apres �a s'utilise comme un tableau de pointeur de CStatic .Code:
1
2
3
4
5
6
7 // dans le .h CArray<CStatic * ,CStatic *> m_apStatics; CStatic *pMyButton= new CStatic ; m_apStatics.Add(pMyButton); // etc...
voir MSDN pour les autres fonctions de la classe.
il faut mettre #include <afxtempl.h> dans stdafx.h
:D
ok ok, je vais voir �a, mais pas aujourd'hui, j'ai un rapporta rendre avant de me plonger dans les CArray, je vais d'abord d�clarer en statique.
Sinon pour la mani�re de charger les images et de les afficher, un tableau de CDC en variable membre te parait bon?
Finalement non, c pas une bonne id�e, il me manqueras d'autres param�tres pour la fonction stretchBlt.
j'essaierai ce soir.
En tout cas, merci, merci, et encore merci.
Bon, �tant donn� que j'arrive a affichier le nombre d'iamge que je veux, je consid�re mon probl�me comme r�solu. Je creuserait le CArray et le chargement de l'image en amont du OnPaint plus tard, et je reviendrait te poser des questions :D :D
en tout cas merci pour tout