Categoria:
O código abaixo compila no harbour 3.2 com windows 10, porém não assume o mouse do windows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include "inkey.ch" Function Main() SET EVENTMASK TO HB_INKEY_ALL While LastKey() != K_ESC Clear Screen DispBox( 0, 1, 2, MaxCol(), Nil, "GR+/N" ) DispBox( 3, 1, MaxRow(), MaxCol(), Nil, "G+/N" ) @ 1,3 PROMPT "Finalizar" @ 1,16 PROMPT "Ag.financeira" @ 1,32 PROMPT "Contas bancárias" @ 1,52 PROMPT "Telefones" @ 1,66 PROMPT "Compromissos" MENU TO OPC If MRow() != 1 Loop ElseIf LastKey() != K_ESC Alert( "Você clicou na opção: " + Hb_NToS( opc ) ) InKey(5) EndIf EndDo Return Nil |
Agora, acrescentando um REQUEST HB_GT_WVT_DEFAULT, aceita o mouse no windows 10:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include "inkey.ch" REQUEST HB_GT_WVT_DEFAULT Function Main() SET EVENTMASK TO HB_INKEY_ALL While LastKey() != K_ESC Clear Screen DispBox( 0, 1, 2, MaxCol(), Nil, "GR+/N" ) DispBox( 0, 1, 2, MaxCol(), Nil, "GR+/N" ) @ 1,3 PROMPT "Finalizar" @ 1,16 PROMPT "Ag.financeira" @ 1,32 PROMPT "Contas bancárias" @ 1,52 PROMPT "Telefones" @ 1,66 PROMPT "Compromissos" MENU TO OPC If MRow() != 1 Loop ElseIf LastKey() != K_ESC Alert( "Você clicou na opção: " + Hb_NToS( opc ) ) InKey(5) EndIf EndDo Return Nil |
E por fim, acrescentando as opções de HBInfo dá para ajustar as acentuações e localização:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #include "inkey.ch" /* HBGTInfo para maior controle do console */ #include "hbgtinfo.ch" /* Mudando o padrão WIN (console antigo) para WVT (console após o Windows Vista - acho) */ REQUEST HB_GT_WVT_DEFAULT /* Os REQUEST abaixo servem para carregar os detalhes da lingagem e página de códigos */ REQUEST HB_LANG_PT REQUEST HB_CODEPAGE_UTF8 Function Main() /* Chamando a linguagem previamente requisitada e a página de códigos */ HB_LANGSELECT( 'PT' ) HB_CDPSELECT( 'UTF8' ) /* Opções de HBGTInfo */ HB_GtInfo( HB_GTI_MAXIMIZED, .F. ) HB_GtInfo( HB_GTI_FONTNAME, "Lucida Console" ) HB_GtInfo( HB_GTI_WINTITLE, "Teste para Mouse" ) /* Fim de opções de HBGTInfo */ SET EVENTMASK TO HB_INKEY_ALL While LastKey() != K_ESC Clear Screen DispBox( 0, 1, 2, MaxCol(), Nil, "GR+/N" ) DispBox( 3, 1, MaxRow(), MaxCol(), Nil, "G+/N" ) @ 1,3 PROMPT "Finalizar" @ 1,16 PROMPT "Ag.financeira" @ 1,32 PROMPT "Contas bancárias" @ 1,52 PROMPT "Telefones" @ 1,66 PROMPT "Compromissos" MENU TO OPC If MRow() != 1 Loop ElseIf LastKey() != K_ESC Alert( "Você clicou na opção: " + Hb_NToS( opc ) ) InKey(5) EndIf EndDo Return Nil |
O Harbour funciona em pelo menos três contextos HB_GT:
1. HB_GT_WIN, que trabalha com os padrões do console (CMD) tipo DOS e Windows até XP);
2. HB_GT_WVT, que trabalha com os consoles (CMD) dos WIndows modernos;
3. HB_GT_GUI, para interfaces gráficas tipo janelas.
Por padrão, se não usar REQUEST HB_GT_xxx, o compilador carrega o contexto HB_GT_WIN, por isso há problemas com mouse nos Windows modernos.
Compilando com IDEs HMG, provavelmente a IDE assuma automaticamente o contexto HB_GT_WVT no modo console, e HB_GT_GUI para modo janelas.
Comentários
Harbour
Comentário:
tengo un proble puse un sub menu y al compilar me da este error
Compiling 'menu.prg'...
Compiling 'tablas.prg'...
Lines 31, Functions/Procedures 3
Generating C source output to 'C:\Users\pc\AppData\Local\Temp\hbmk_e17zao.dir\menu.c'... Done.
Unrecoverable error 9012: Can't locate the starting procedure: 'MAIN'
espero me pueda ayudar
gracias
Eraldo
Comentário:
a instruçao REQUEST HB_GT_WVT_DEFAULT, o maouse funciona no windows 10, mas, desconfigura toda a tela como funcionar o mouse sem desconfigurar a tela
Eraldocsantos
Mouse
Comentário:
ou como deixar a instruçao REQUEST HB_GT_WVT_DEFAULT e configurar para que mantenha o tamanho e os Pixeos
ou usar outra instrução que permita o uso do mouse sem mudar as telas
Eraldocsantos
Páginas