Árvore de páginas

Carregando...

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: binary and image files updated

...

Portuguese

Pagetitle
GetFontPixWidths
GetFontPixWidths

Função: GetFontPixWidths

Retorna uma matriz com a largura em pixels de uma determinada fonte.

GetFontPixWidths ( < cFontName>, < nTamanho>, [ lBold], [ lItalic], [ lUnderline] ) --> aRet

NomeTipoDescriçãoObrigatórioReferência
cFontNameCaracterIndica o nome da fonte instalada no Smart Client. X
nTamanhoNuméricoIndica o tamanho da fonte. X
lBoldLógicoIndica se a fonte está em negrito.
lItalicLógicoIndica se a fonte está em itálico.
lUnderlineLógicoIndica se a fonte está sublinhada.
    aRet(vetor)
  • Retorna a lagura em pixels, dos caracteres ASCII 1-254, da fonte instalada no Smart Client. Se a fonte não existir, o retorno será vazio.
  • Utilize esta função somente nos programas executados através do Smart Client.
  • Os parâmetros de formatação (lBold, lItalic e lUnderline) tem como padrão o valor falso (.F.)
     
Importante
  • Função disponível, na linguagem AdvPL, a partir da build 7.00.060322A. 
  • O uso em excesso (por exemplo: Loops) pode interferir na performance do sistema operacional, devido ao tráfego de informações entre o Application Server e o Smart Client. Para que isso não ocorra, não tente obter a lista com o tamanho de todos os caracteres das fontes instaladas, somente obtenha as fontes necessárias para o seu programa.

    Além disso, armazene a matriz de retorno em uma variável estática, para que não tenha que chamar a função várias vezes no código-fonte.

 

 

#DEFINE CRLF Chr(13)+Chr(10)#DEFINE TAB  Chr(9)User Function Exemplo()Local aFontList := Nil, aPixWidths := NilLocal cFont := "Arial", cMensagem := ""Local lFont := .F.Local nCount := 0  aFontList := GetFontList()  AEval(aFontList, {|aFontList|IIf(aFontList == cFont, lFont  := .T.,)})  If !(lFont)    Return MsgStop("Não foi possível encontrar a fonte utilizada no teste")  EndIf//+----------------------------------------------------------------------------+//|Exemplifica o uso da função GetFontPixWidths                                |//+----------------------------------------------------------------------------+  aPixWidths := GetFontPixWidths(cFont, 12, .F., .F., .F.)  nTotal := Len(aPixWidths)  For nCount := ASC("A") To ASC("Z")    If nCount % 4 == 0      cMensagem += Chr(nCount) + "=" + cValToChar(aPixWidths[nCount]) + " pix" + CRLF    Else      cMensagem += Chr(nCount) + "=" + cValToChar(aPixWidths[nCount]) + " pix" + TAB    EndIf  Next nCount//+----------------------------------------------------------------------------+//|Apresenta uma mensagem com os resultados obtidos                            |//+----------------------------------------------------------------------------+Return MsgInfo(cMensagem, "Exemplo do GetFontPixWidths")

Exemplo da função GetFontPixWidths
Image Removed Image Added
Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server