Página 1 de 1

manter alt menu ativo

Enviado: 19 Jan 2010 10:20
por tonyx
utilizo WVW; la menu principal tem as opcoes, 1, 2 , 3, 4, S - ou A, B, C, D, S
questao ou clico nelas com mouse, ou ALT a Opcao;
tambem posso apertae a tecla ALT e ficam sublinhadas esperando so a opcao..
so se arrastar o mouser ou tecla outra coisa a o sublinhados somem

gostaria saber se tem como no wvw_setmenu() manter a tecla ALT ativada quando o menu aparecer.. (sempre pensando usar o teclado (escolher a opcao))

sei parace banal por usuario em diante usar o mouse, ou tecla (ALT e opcao)
Mas sei la usuarios aqui querem e moleza. So teclam so ,
ficaram meio preguisocos depois veio tanta rapidez...

Bem
Tem como ativar o ALT ou manter ativo as opcoes
so bastando o usuario teclar na letra...


Agradeco ajuda....
Nota de Moderação:
por Toledo: Mensagem editada para formatação de texto em letras minúsculas. A mensagem estava parcialmente em letras maiúsculas.
Se quer destacar alguma parte do texto, use negrito ou Cor da fonte.
Veja as Regras do Fórum:
7 - Mensagens em letras MAIÚSCULAS poderão ser editadas sem aviso prévio. Letras maiúsculas equivalem a GRITAR e portanto são consideradas uma falta de respeito com os demais membros do fórum.

Re: manter alt menu ativo

Enviado: 19 Jan 2010 20:51
por Vander
Olá;

Se entendi bem, faça assim:

No windows XP
Em "propriedades de vídeo / Aparencia / Efeitos" desmarcar a caixa Ocultar Sublinhados para ....

Vander

Re: manter alt menu ativo

Enviado: 19 Jan 2010 23:31
por clodoaldomonteiro
Eu acho que o amigo quer é que o menu do sistema fique sempre ativo, como nos menus do velho clipper.

Meus clientes também querem o menu do clipper de volta, pois hoje já to usando a Gtwvw, com os menus clássicos do windows, mas só quando eles vão imprimir vários relatórios e a impressão do primiro termina o sistema sai do menu suspenso, ai o usuário tem que voltar e selecionar o menu de relatórios novamente, enquanto no clipper, ao terminar uma impressão o sistema voltava para onde ele estava.

Assim era mais fácil para o usuário.

Já pensei em fazer uma macro de execução, para que quando terminasse um relatório o sistema executasse uma sequência de teclas e voltasse para o menu em que esta antes, por exemplo:

Código: Selecionar todos

keyboard K_ALT  //Pressionou a tecla ALT
keyboard K_R     //Pressionou a tecla R, do menu Relatórios
Keyboard "seta para baixo, até ficar na posição que eu quiser"
Só que a tecla ALT não tem valor ASCII, e ai já começa não dando certo.

Acho que vou ter que fazer um form com todas as opções de relatório para que o usuário fique marcando qual relatório ele quer imprimir.

Pode parecer besteira, mas o usuário tem razão, pois tenho um sistema que eles imprimem 16 anexos para 4 ou 5 empresas, podendo chegar a imprimir 80 relatórios.

Então imaginem o usuário ter que voltar toda vez lá no menu relatórios e imprimir um por um.

Desculpe em pegar carona no tópico do amigo Tony, mas tenho que resolver isso logo.

Re: manter alt menu ativo

Enviado: 21 Jan 2010 08:21
por tonyx
antes de tudo gostaria pedir DESCULPAS ao grande toledo DO FOUM, foi baita falta de atencao olhar o texto com letra grande.. (jamais quis ofender alguem).

para o usuario clodoaldomonteiro acertou em ceio...

pensei usar o modelo do (set menu to) em windows ou montar (caixas uma de baixo das outras usando figuras)... mas se alguem tiveres solucoes ....

mas ate em outros sistemas como da caixa e receita e empresas softwares avancados
sao assim;;

Re: manter alt menu ativo

Enviado: 21 Jan 2010 12:57
por clodoaldomonteiro
Tony!
Eu vou tentar fazer um Form e nele colocar as opções com checkbox, mas ainda to no inicio da criação da rotina, quando tiver pronto eu posto aki.

Re: manter alt menu ativo

Enviado: 21 Jan 2010 22:09
por edmarfrazao
eu uso assim

F_VKEYBOARD( VK_MENU, 0x080 ) // ALT => HEX = 12, DEC = 18
F_VKEYBOARD( "C" )

sera simulado o alt depois a letra c
então entrar no menu

&Clientes (menu que sera selecionado)

Código: Selecionar todos

#include "windows.h"
#include "hbapi.h"

#pragma BEGINDUMP

HB_FUNC( F_VKEYBOARD )
{
  BYTE  bScanCode = ISNIL(2) ? 0 : hb_parni(2);
  DWORD dwFlags   = ISNIL(3) ? 0 : hb_parni(3);
  BYTE  Tecla;

  if ISCHAR(1)
  {
     Tecla = VkKeyScan( hb_parni(1) );
  }
  else
  {
     Tecla = hb_parni(1);
  }

  keybd_event( Tecla, bScanCode, dwFlags, 0 );

  keybd_event( Tecla, bScanCode, KEYEVENTF_KEYUP, 0 );

}

#pragma ENDDUMP