Como determinar a definição de tamanho de tipo de letra

Traduções de Artigos Traduções de Artigos
Artigo: 137556 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Sumário

O código neste artigo demonstra como utilizar os comandos de biblioteca Foxtools.fll para ligar a interface de programação de aplicações do Microsoft Windows funções (API) para determinar se a sessão actual do Windows está a utilizar pequeno ou tipos de letra grandes. São utilizadas as seguintes funções de API:
GetDC()
GetDeviceCaps()
ReleaseDC()
				

Mais Informação

O programa carrega pela primeira vez a biblioteca Foxtools.fll que é fornecida com FoxPro para Windows. Em seguida, inicia algumas variáveis e obtém o identificador para o dispositivo de visualização. Em seguida, chama a função GetDeviceCaps, pedir o número de pixels por polegada lógica ao longo da apresentação largura e altura. Se o número de pixels for igual a 96, Windows está em execução com tipos de letra minúscula. Se o número de pixels for igual a 120, Windows está a funcionar com tipos de letra grandes. Em seguida, o programa liberta a alça para o dispositivo de visualização e a biblioteca.
SET LIBRARY TO SYS(2004) + "FOXTOOLS.FLL" ADDITIVE

* create variables to pass index to GetDeviceCaps()
* this value cane be found in the WINGDI.H file

LOGPIXELSX = 88
LOGPIXELSY = 90

* get the handle to the device context

lnGetDC = RegFN("GetDC","I","I")
lnHDC = CallFN(lnGetDC,0)

* get the number of pixels per logical inch

lnGetLogPix = RegFN("GetDeviceCaps","II","I")
lnLogPixX = CallFN(lnGetLogPix,lnHDC,LOGPIXELSX)
lnLogPixY = CallFN(lnGetLogPix,lnHDC,LOGPIXELSY)

* determine if small or large fonts, either lnLogPixX or
* lnLogPixY may be used to test for the values 96 or 120

IF lnLogPixX < 96
  WAIT WINDOW "Windows is using smaller than Small Fonts"   
ELSE IF InLogPixX = 96
  WAIT WINDOW "Windows is using Small Fonts"   
ELSE IF InLogPixX < 120
  WAIT WINDOW "Windows is using between Small Fonts and Large Fonts"
ELSE IF IF lnLogPixX = 120
  WAIT WINDOW "Windows is using Large Fonts"
ELSE
  WAIT WINDOW "Windows is using larger than Large Fonts"
ENDIF

* release the handle to the device context

lnRelease = RegFN("ReleaseDC","II","I")
= CallFN(lnRelease,0,lnHDC)

* release the FOXTOOLS.FLL library

RELEASE LIBRARY SYS(2004) + "FOXTOOLS.FLL"
				

Referências

Microsoft Windows Software Development Kit, "Programmer Reference, volume 2: funções," páginas 354 350, 785.

Foxtools.wri localizado no directório C:\Fpw26\Goodies\Foxtools.

Wingdi.h localizado no directório C:\C700\Include

Propriedades

Artigo: 137556 - Última revisão: 22 de fevereiro de 2014 - Revisão: 2.2
A informação contida neste artigo aplica-se a:
  • Microsoft FoxPro 2.5b
  • Microsoft FoxPro 2.5a
  • Microsoft FoxPro 2.5b
  • Microsoft FoxPro 2.6 Standard Edition
  • Microsoft FoxPro 2.6a Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbfont kbhowto KB137556 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 137556

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com