Solução de como fazer o menu da wvw abrir via comando.

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

edmarfrazao
Usuário Nível 3
Usuário Nível 3
Mensagens: 185
Registrado em: 06 Dez 2005 11:16

Solução de como fazer o menu da wvw abrir via comando.

Mensagem por edmarfrazao »

Graças ao FabioNery (desenv@graphosinformatica.com.br)

me passou e repasso como fazer o menu da wvw se abrir via codigo.

para que criou o menu da wvw bom base no exemplo

.. comando do menu

Código: Selecionar todos

 SETINKEYAFTERBLOCK({|nkey| nAfterInkey(nkey)})

 F_VKEYBOARD( VK_MENU, 0x080 )   // ALT => HEX = 12, DEC = 18
 F_VKEYBOARD( "C" )  // Menu de cadastro com a letra c em destaque


 do while !((ch:=inkey(0))==K_ESC)
 enddo
acrecente o arquivo xhbfunc.c em anexo e tudo funcionara bem.

O menu ficara aberto no menu que você especificar.

teste com xharbour comercial

aquivo em c.

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
Editado pela última vez por Pablo César em 24 Mai 2012 20:16, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
angeiras
Usuário Nível 3
Usuário Nível 3
Mensagens: 134
Registrado em: 21 Nov 2005 20:53
Localização: Olinda/PE

Mensagem por angeiras »

Ola,

Muito boa a solucao. Ja vinha tentando fazer essa alteracao mas estava sem tempo e, principalmente, estava sem ideia de como resolver o problema :)

[]s
Manoel Angeiras
Clipper 5.2e + sixcdx + catools + nanfor
xHarbour 1.0.0 + gtwvw / xHarbour 1.2.1 + Fivewin
edmarfrazao
Usuário Nível 3
Usuário Nível 3
Mensagens: 185
Registrado em: 06 Dez 2005 11:16

Re: Solução de como fazer o menu da wvw abrir via comando.

Mensagem por edmarfrazao »

faltou a exemplicação da função

Código: Selecionar todos

/* F_VKeyBoard( Tecla, bScanCode, dwFlags )
* Parametros:
*  1 - Tecla     - tecla virtual a ser pressionada ex: VK_MENU, 0x012, "A", "1" etc
*  2 - bScanCode - (opcional) - vide funcao keybd_event na internet
*  3 - dwflags   - (opcional) - vide funcao keybd_event na internet
*/

outra alteração quando clickar em uma opção e executada o loop do do while então altereia para

Código: Selecionar todos

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

   do while .T. //!((ch:=inkey(0))==K_ESC)
       ch:=inkey()
       *IF vSairMenu
       *   EXIT
       *ENDIF     
      F_VKEYBOARD( VK_MENU, 0x080 )   // ALT => HEX = 12, DEC = 18
      F_VKEYBOARD( "C" )

      ch:=inkey(0)
      if CH=K_ESC
         EXIT
      ENDIF
   enddo
Editado pela última vez por Pablo César em 24 Mai 2012 20:18, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Responder