by César E. Lozada » Wed Jan 10, 2007 10:34 pm
Agregando estos métodos a la clase tRichEdit() podrás hacer zoom, pero si usas la versión 5 de riched20.dll.
Add these methods to tRichEdit() to zoom, but be sure you have riched20.dll version 5 installed.
Saludos/Regards
César Lozada
#define EM_GETZOOM (WM_USER + 224)
#define EM_SETZOOM (WM_USER + 225)
METHOD SetZoom(nZoom)
Local nNum:=nZoom, nDen:=100, k //, nOldZoom:=::GetZoom()
DEFAULT ::nW0:=::nWidth-20
FOR k:=2 to 5 step 3
DO WHILE nNum%k=0 .and. nDen%k=0
nNum/=k; nDen/=k
ENDDO
NEXT
IF nNum>0 .and. nNum<64 .and. nDen>0 .and. nDen<64
::SetSize(::nW0*nZoom/100+20,::nHeight)
::SendMsg(EM_SETZOOM, nNum, nDen)
ENDIF
return nil //nOldZoom
METHOD GetZoom()
Local nZoom,nNum:=0, nDen:=0
::SendMsg(EM_GETZOOM, nNum, nDen)
nZoom:=100*nNum/Max(nDen,1)
return nZoom