revisando un poco la web me encontre con esta pagina:
http://www.rw-designer.com/DPI-aware
ya con esa info, he hecho esto:
- Code: Select all Expand view RUN
#pragma BEGINDUMP
#include "hbapi.h"
#include "windows.h"
HB_FUNC( HB_GETSYSMETRIC_ICON )
{
hb_retni( GetSystemMetrics( SM_CXSMICON ) );
}
HB_FUNC( FW_FSCALE )
{
HWND hWnd = GetActiveWindow();
HDC hdc = GetDC( hWnd );
float fScale = GetDeviceCaps( hdc, LOGPIXELSX ) / 96.0f;
ReleaseDC( hWnd, hdc );
hb_retnd( (double) fScale );
}
#pragma ENDDUMP
con esta funcio FW_FSCALE, en mi app al inicio tengo esto:
- Code: Select all Expand view RUN
PROCEDURE Main()
LOCAL oBrush, nScale := fw_fScale()
?nScale //retorna 1.5
con lo cual nScale me retorna 1.5 que seria el valor a escalar el tamaño de las fuentes, y el tamaño de los controles, con las fuente ya hago esto y funciona:
- Code: Select all Expand view RUN
DEFINE FONT oFont NAME "TAHOMA" SIZE 0, ( -13 * nScale )
DEFINE FONT oFontD NAME "TAHOMA" SIZE 0, ( -13 * nScale )
pero con los controles no se como hacerlo para que se aplique a todos ellos.
me podrian dar una mano con esto.
salu2
carlos vargas