Yoyo@ | Bonjour, Voici mon probleme. Mon appli est basée sur une CScrollView, avec un zoom personnalisé. Pour la gestion du zoom, j'tilise entre autre dans mon OnPrepareDC ces appels:
Code :
- pDC->SetMapMode(MM_ISOTROPIC);
- pDC->SetWindowExt(m_totalLog);
- pDC->SetViewportExt(m_totalDev);
|
En faisant grossir m_totalDev pour obtenir l'effet de zoom désiré. Seulement, lorsque dans mon OnDraw, je créée une police, la sélectionne et écrit avec, je n'obiens pas un effet constant, la taille logique de la chaine de caractere semblant changer legerement entre les differents niveaux de zoom. Ainsi, dans mon OnDraw(),
Code :
- CFont fnt;
- fnt.CreateFont(45, 0, 0, 0, FW_NORMAL, FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_SWISS+VARIABLE_PITCH, "Courrier" );
- CFont* pOldFont = pDC->SelectObject(&fnt);
- pDC->TextOut(0,0, "ppda" );
- CSize size = pDC->GetTextExtent("ppda" );
|
va me donner une taille oscillant legerement selon les niveaux de zoom, 88,45 au début, puis 90.45, etc, etc...ce qui fait que mon affichage differe legerement selon le niveau de zoom (par exemple, le texte va sortir de son cadre, etc...) Est ce normal? |