1=
Ejecutar el appWixard para generar el proyecto prog4
2=
Insertar en el fichero prog4View.cpp la funcion siguiente:
void
CProg4View::OnPrepareDC(CDC* pDC, CPrintInfo*
pInfo)
{
pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetWindowExt(1440, 1440);
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX), -pDC->GetDeviceCaps(LOGPIXELSY));
}
3=
Declarar la funcion en el fichero de cabecera prog4View.h
virtual void OnPrepareDC(CDC*
pDC,CPrintInfo* pInfo);
4=
Aņadimos la funcion privada de ayuda complementaria llamada ShowFont a la clase
vista
void
CProg4View::ShowFont(CDC* pDC, int&
nPos, int nPoints)
{
TEXTMETRIC tm;
CFont fontTexto;
CString strTexto;
CSize sizeTexto;
fontTexto.CreateFont(-nPoints *
20,0,0,0,400,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,"Arial");
CFont* pOldFont = (CFont*)pDC->SelectObject(&fontTexto);
pDC->GetTextMetrics(&tm);
TRACE("puntos=%d,tmHeight=%d,tmInternalLeading=%d,""tmExternalLeading=%d\n",nPoints,tm.tmHeight,tm.tmInternalLeading,tm.tmExternalLeading);
strTexto.Format("Esto es Arial de %d, altura de cadena =%d|n",
sizeTexto.cx,sizeTexto.cy);
pDC->TextOut(0,nPos,strTexto);
pDC->SelectObject(pOldFont);
nPos-=tm.tmHeight+tm.tmExternalLeading;
}
5=
Declarar la funcion en el fichero de cabecera prog4View.h
virtual void ShowFont(CDC*
pDC, int& nPos, int nPoints);
6=
Editamos la funcion ondraw del fichero
prog4View.cpp
void
CProg4View::OnDraw(CDC* pDC)
{
int nPosition
= 0;
for (int i = 6; i
<= 24; i += 2) {
ShowFont(pDC, nPosition, i);
}
TRACE("LOGPIXELSX = %d, LOGPIXELSY = %d\n",
pDC->GetDeviceCaps(LOGPIXELSX),
pDC->GetDeviceCaps(LOGPIXELSY));
TRACE("HORZSIZE = %d, VERTSIZE = %d\n",
pDC->GetDeviceCaps(HORZSIZE),
pDC->GetDeviceCaps(VERTSIZE));
TRACE("HORZRES = %d, VERTRES = %d\n",
pDC->GetDeviceCaps(HORZRES),
pDC->GetDeviceCaps(VERTRES));
}