Categoria:
O código abaixo compila no harbour 3.2 com windows 10, porém não assume o mouse do windows:
#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:
#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:
#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