Categoria:
Veremos nesta matéria como colocar a tela cheia do seu sistema usando o [x]Harbour.
Com isso você também resolve o problema do SETMODE no Windows 10. No Windows 7 não há problemas com o SETMODE, você pode alterar de 25 linhas para 43 sem problemas, mas no Windows 10 ele fica nas 25 linhas e acaba cortando as linhas 25 a 42 que deveriam ser mostradas na tela.
A solução é linkar a lib gráfica WVT, vejamos:
******************************** *** TELA GRÁFICA ******************************** #include "hbgtinfo.ch" REQUEST HB_GT_WVT_DEFAULT REQUEST HB_GT_WVT #include "hbdyn.ch" FUNCTION MAIN() *---------------------------------------------------------------------------- // TELA GRÁFICA *---------------------------------------------------------------------------- *** INICIALIZAÇÃO BÁSICA DA TELA GRÁFICA *** WVT_SETONTOP() WVT_SetTitle("Título da janela") //titulo da janela WVT_SETICON('app.ico') //icone da janela do sistema WVT_SetCodePage(255) // OEM_CHARSET *** JANELAS *** HB_GtInfo( HB_GTI_ALTENTER, .T. ) // ALT + ENTER tela inteira HB_GtInfo( HB_GTI_CLOSABLE, .F. ) // bloqueia fechar a janela pelo botão X HB_GtInfo( HB_GTI_SELECTCOPY, .T. ) // Toggles screen content selection and copy to clipboard HB_GtInfo( HB_GTI_RESIZABLE, .T. ) // Toggles ability to resize window. HB_GtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_FONT ) // redimensionar letras *** LETRAS *** HB_GtInfo( HB_GTI_FONTNAME, "Courier New" ) // fonte da letra HB_GTInfo(HB_GTI_FONTQUALITY, HB_GTI_FONTQ_HIGH ) // qualidade da letra HIGH *** TELA CHEIA SETMODE(25,80) nFontWidth := Int( hb_gtinfo(HB_GTI_DESKTOPWIDTH) / 80) nFontSize := Int( hb_gtinfo(HB_GTI_DESKTOPHEIGHT) / 25) hb_gtinfo(HB_GTI_FONTWIDTH, nFontWidth) hb_gtinfo(HB_GTI_FONTSIZE, nFontSize) /* TAMANHO DOS CARACTERES PERSONALIZADO hb_gtinfo(HB_GTI_FONTWIDTH, 10) // LARGURA hb_gtinfo(HB_GTI_FONTSIZE, 18) // ALTURA */
Dessa forma o sistema terá 25 linhas por 80 colunas em tela cheia.
Nada impede que você queira colocar um tamanho de fonte personalizada. Como eu altero minhas telas para 43 linhas e às vezes 130 colunas então prefiro definir um tamanho de caracteres que se adeque em cada caso
/* *** TELA CHEIA SETMODE(25,80) nFontWidth := Int( hb_gtinfo(HB_GTI_DESKTOPWIDTH) / 80) nFontSize := Int( hb_gtinfo(HB_GTI_DESKTOPHEIGHT) / 25) hb_gtinfo(HB_GTI_FONTWIDTH, nFontWidth) hb_gtinfo(HB_GTI_FONTSIZE, nFontSize) */ // TAMANHO DOS CARACTERES PERSONALIZADO hb_gtinfo(HB_GTI_FONTWIDTH, 10) // LARGURA hb_gtinfo(HB_GTI_FONTSIZE, 18) // ALTURA
Comentários recentes