Botão em programa console xharbour
Moderador: Moderadores
Botão em programa console xharbour
Olá, pessoal...
Pensei em fazer algo, no meu executável console (xharbour + bcc55 + Visual Lib) e não sei se é possível.
Minha idéia é colocar um botão, uma figura ou qualquer outra solução em algum lugar livre da tela de digitação
de dados, e aí, qdo o usuário clicasse em cima eu executaria um dbedit() ou tbrowse() de um dbf qualquer,
mas sem afetar o GET/READ atual do usuário..
Alguém já fez algo parecido e pode compartilhar o trecho do fonte ?
Grato
Pensei em fazer algo, no meu executável console (xharbour + bcc55 + Visual Lib) e não sei se é possível.
Minha idéia é colocar um botão, uma figura ou qualquer outra solução em algum lugar livre da tela de digitação
de dados, e aí, qdo o usuário clicasse em cima eu executaria um dbedit() ou tbrowse() de um dbf qualquer,
mas sem afetar o GET/READ atual do usuário..
Alguém já fez algo parecido e pode compartilhar o trecho do fonte ?
Grato
lugab
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Botão em programa console xharbour
Moleza... depois de criar rotinas.... rs
- O acionamento pelo SET KEY e determinada tecla
- Uma rotina de detecção do mouse, pra executar determinada rotina conforme a posição do clique
- Embutir essa rotina, ou chamada dela, na getsys
A partir daí, só definir coordenadas e ação
Se não entendeu...
o retângulo a ser clicado ter quatro coordenadas: linha, coluna, linha, coluna
e vai trocar isso por uma tecla.
Então é um array com isso { linha, coluna, linha, coluna, tecla }
No clique, vai analisar as coordenadas e trocar pela tecla.
O restante, o SET KEY normal vai fazer.
E se fosse Harbour e GTWVG, poderia ser diretamente um botão mesmo.
Talvez dê pra fazer tudo pelo SET KEY, se for possivel direcionar o clique do mouse com SET KEY.
- O acionamento pelo SET KEY e determinada tecla
- Uma rotina de detecção do mouse, pra executar determinada rotina conforme a posição do clique
- Embutir essa rotina, ou chamada dela, na getsys
A partir daí, só definir coordenadas e ação
Se não entendeu...
o retângulo a ser clicado ter quatro coordenadas: linha, coluna, linha, coluna
e vai trocar isso por uma tecla.
Então é um array com isso { linha, coluna, linha, coluna, tecla }
No clique, vai analisar as coordenadas e trocar pela tecla.
O restante, o SET KEY normal vai fazer.
E se fosse Harbour e GTWVG, poderia ser diretamente um botão mesmo.
Talvez dê pra fazer tudo pelo SET KEY, se for possivel direcionar o clique do mouse com SET KEY.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Botão em programa console xharbour
Olá!
Creio que seja mais fácil usar algo nativo da linguagem.
Use o @...GET PUSHBUTTON. Dá até para integrar com o @...GET TBROWSE. Isso épossível desde o Clipper 5.3 e tem exemplos nestes links.
Creio que seja mais fácil usar algo nativo da linguagem.
Use o @...GET PUSHBUTTON. Dá até para integrar com o @...GET TBROWSE. Isso épossível desde o Clipper 5.3 e tem exemplos nestes links.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
Botão em programa console xharbour
Obrigado, Alexandre...
A solução "pushbotton" não me atende, pq ela interfere nos outros "get/read" ativos.
Ela própria é ativada através de um "get", veja o exemplo do seu link:
Obrigado, Quintas
O caminho é esse mesmo q vc postou, eu só não tenho 1/10 do seu "know how" pra ser capaz de desenvolver
um fonte que faça isso...
Vou esperar, pra ver se alguém tem um fontezinho pra eu piratear..
A solução "pushbotton" não me atende, pq ela interfere nos outros "get/read" ativos.
Ela própria é ativada através de um "get", veja o exemplo do seu link:
Código: Selecionar todos
@ 5, 20 GET lCancel PUSHBUTTON ;
CAPTION "&Cancel"
STATE { || ReadKill( .T. ) }
O caminho é esse mesmo q vc postou, eu só não tenho 1/10 do seu "know how" pra ser capaz de desenvolver
um fonte que faça isso...
Vou esperar, pra ver se alguém tem um fontezinho pra eu piratear..
lugab
- acelconsultoria
- Usuário Nível 3

- Mensagens: 231
- Registrado em: 10 Jan 2006 17:05
- Localização: Itápolis-SP
Botão em programa console xharbour
Boa noite, lugab
Se você já usa a Visual Lib, tem uma função que faz essa associação de uma determinada coordenada da tela com uma tecla e com o mouse. Na demo da Visual Lib, lá do clipper, tem o exemplo disso.
Aí, toda vez que teclar F1 ou clicar com o mouse na coordenada, o programa chama a função.
Se você já usa a Visual Lib, tem uma função que faz essa associação de uma determinada coordenada da tela com uma tecla e com o mouse. Na demo da Visual Lib, lá do clipper, tem o exemplo disso.
Código: Selecionar todos
Set Key K_F1 To Minha_Funcao()
SetKeyMouse( K_F1, { 24, 24, 00, 07 } ) // Associa a tecla F1 às coordenadas
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Consultoria e Projetos
-------------------------------------------------------
Botão em programa console xharbour
Ative o suporte ao mouse no seu aplicativo
Para "desenhar o botão" mude a cor de fundo da tela. É bom armazenar as coordenadas e cores em um arquivo CH.
Dentro da função (chamada por setkey) use as funçoes MCOL() e MROW() para determinar se a linha e a coluna do ponteiro do mouse estão entre as coordenadas do seu botão. Mais ou menos assim
e por aí vai.
Agora foi que notei que vc usa xharbour. Eu fiz em harbour dessa forma que descrevi e funciona perfeitamente. A diferença é que não uso setkey, eu coloquei botões automaticamente dentro do getlist.prg, assim todo get eles aparecem.
Código: Selecionar todos
SET EVENTMASK TO INKEY_ALL // Mouse
SETKEY( K_MWFORWARD, {|| HB_KEYPUT(K_SH_TAB)})
SETKEY( K_MWBACKWARD, {|| HB_KEYPUT(K_TAB)})
MDblClk( 167 ) // Espera pouco pelo duplo clique
Código: Selecionar todos
@ BUTTON_PREVIOUS_ROW, BUTTON_PREVIOUS_COL;
SAY BUTTON_PREVIOUS_LABEL COLOR COLOR_BUTTON
Dentro da função (chamada por setkey) use as funçoes MCOL() e MROW() para determinar se a linha e a coluna do ponteiro do mouse estão entre as coordenadas do seu botão. Mais ou menos assim
Código: Selecionar todos
IF MROW() >= (nTop) .AND. MROW() <= (nBottom)
Agora foi que notei que vc usa xharbour. Eu fiz em harbour dessa forma que descrevi e funciona perfeitamente. A diferença é que não uso setkey, eu coloquei botões automaticamente dentro do getlist.prg, assim todo get eles aparecem.
Botão em programa console xharbour
Obrigado, Maickon
Funcionou... Só falta colocar alguma coisa, tipo um botão ou um BMP na coordenda, pra não ficar uma área
sem nenhuma indicação...
Obrigado, Vlademiro
Faltou definir "BUTTON_PREVIOUS_LABEL"
Funcionou... Só falta colocar alguma coisa, tipo um botão ou um BMP na coordenda, pra não ficar uma área
sem nenhuma indicação...
Obrigado, Vlademiro
Faltou definir "BUTTON_PREVIOUS_LABEL"
lugab
- acelconsultoria
- Usuário Nível 3

- Mensagens: 231
- Registrado em: 10 Jan 2006 17:05
- Localização: Itápolis-SP
Botão em programa console xharbour
Lugab,
Que bom que deu certo.
Eu lembro que, com a própria Visual Lib, eu desenhava uns botões de improviso com a função "Frame". Mas no Harbour, sem os caracteres especiais da fonte TTF da Visual Lib, acho que não deve ficar bom.
Maickon Sato
Que bom que deu certo.
Eu lembro que, com a própria Visual Lib, eu desenhava uns botões de improviso com a função "Frame". Mas no Harbour, sem os caracteres especiais da fonte TTF da Visual Lib, acho que não deve ficar bom.
Maickon Sato
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Consultoria e Projetos
-------------------------------------------------------
