BarthOlivier
Messages postés132Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention27 novembre 2012
-
16 juin 2005 à 13:31
BarthOlivier
Messages postés132Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention27 novembre 2012
-
17 juin 2005 à 22:55
salut à tous
j'ai deux petits soucis en MFC avec des controles CheckBox et les cntextes de periph.
Je me demande si cen n'est pas lié alors j'en parle ensemble
Il m'arrive dans mon application que les controles ChexkBox disparaissent complétement et ne soient plus visibles. Ils sont pourtant fonctionnels !
Dans mon apllication il arrive parfois (surtout sur XP) que le contexte de peripherique change d'adresse ( rigolez pas !) . soit le dessin s'affiche donc ailleur, soit mon logiciel plante car le dessin ne se rafraichit plus...
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 16 juin 2005 à 13:36
Ton DC change d'adresse, c'est normal, rien n'indique que tu dois
otenir toujours le même DC avec GetDC. Tu parle du DC de quelle fenêtre
exactement? Est-ce que tu libères bien tes DC? Ce serait un petit peu
plus clair si tu mettais un peu de code, car pour l'instant je
comprends pas trop ton problème.
// 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
{
CDialog::OnPaint();
}
}
AfficheEcran(pDC1,rectAff1,All);
/*--------------------------------------------------------*/
/* Boucle Tant que l'on a pas tout affiché */
/*--------------------------------------------------------*/
if(Acqui.Redraw.Enable)
{
//----------------------------------------------------------------------------//
if(!Systeme.LanceAcqui && All)
{
tempo = (double)MiniRect.right/8000*Acqui.Redraw.AdressStart;
MiniRect.left= (int) tempo;
tempo = (double)MiniRect.right/8000 * (Acqui.Redraw.AdressStart+Acqui.Redraw.NbEchantillons);
MiniRect.right=(int) tempo;