Olá a Todos,
Peguei recentemente um sisteminha para migrar, e estou pensando em usar a WVWTOOLS, alguém teria algum exemplo de como Habilitar e Desabilitar os Menus. (Isso vai servir para o controle de senhas pelos Menus)
Agradeço Antecipadamente
Leonardo Machado
Habilitar e Desabilitar Menus na WVWTOOLS 0.83
Moderador: Moderadores
- acelconsultoria
- Usuário Nível 3

- Mensagens: 231
- Registrado em: 10 Jan 2006 17:05
- Localização: Itápolis-SP
Re: Habilitar e Desabilitar Menus na WVWTOOLS 0.83
Verificando o código fonte da WVWTOOLS, na classe AddMenuItem, pude ver que os menus podem ser trabalhados com "condições". Se a condição é validada pelo EVAL, o menu fica habilitado, caso contrário, desabilitado.
Bom, eu não domino muito a sintaxe do EVAL, mas creio que a condição deva ser passada em code block, ou estou errado 
Código: Selecionar todos
METHOD AddMenuItem( cCaption, bBlock, bCondition, cBitmap, lAddToContext, cFlag, nKeyCode ) CLASS WvW_tWindow
//****
RETURN ::AddToMenu( cCaption, bBlock, bCondition, cBitmap, lAddToContext, .F.,, cFlag, nKeyCode )
//****
METHOD AddToMenu( cCaption, bBlock, ;
bCondition, cBitmap, lAddToContext, lPopup, lSystem, cFlag, nKeyCode ) CLASS WvW_tWindow
//****
LOCAL hPopup, nID
//
DEFAULT cCaption TO [\-], ;
bCondition TO {|| .T.}, cBitMap TO [], lAddToContext TO .F., lSystem TO .F.
cCaption := ALLTRIM( cCaption )
IF ( lPopup )
IF EMPTY( ::aContextPopups )
hPopup := ::hContextMenu
ELSE
hPopup := ::aContextPopups[-1,1]
ENDIF
nID := ++ ::nContextMenuID
ELSE
IF ( lSystem )
hPopup := ::hSysMenu
nID := ++ ::nSysMenuID
ELSE
hPopup := ::aPopups[-1,1]
nID := ++ ::nMenuID
ENDIF
ENDIF
IF ( PCOUNT() = 0 .OR. ALLTRIM(cCaption) == [\-] )
WvW_AppendMenu( hPopup, MF_SEPARATOR )
ELSE
IF ( cFlag != NIL .AND. nKeyCode != NIL)
AADD( ::aAccelTable, { nKeyCode, cFlag, nId } )
cCaption += ( CHR(9) + cFlag )
ENDIF
IF EVAL( bCondition ) // ************* TESTA A CONDIÇÃO
WvW_AppendMenu( hPopup, MF_ENABLED + MF_STRING, nID, cCaption )
ELSE
WvW_AppendMenu( hPopup, MF_DISABLED + MF_STRING + MF_GRAYED, nID, cCaption )
ENDIF
IF ! EMPTY( cBitmap )
cBitmap := ( ::cImagePath + cBitmap )
WvW_MenuBitmap( hPopup, nID, cBitmap )
ENDIF
IF ( lPopup )
AADD( ::aContextMenuItems, { nID, bBlock, bCondition, cCaption } )
ELSEIF ( lSystem )
AADD( ::aSysMenuItems, { nID, bBlock, bCondition, cCaption } )
ELSE
AADD( ::aMenuItems, { nID, bBlock, bCondition, cCaption } )
ENDIF
IF ( lAddToContext )
::AddContextMenuItem( cCaption, bBlock, bCondition, cBitmap )
ENDIF
ENDIF
//
RETURN Self
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Consultoria e Projetos
-------------------------------------------------------
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Habilitar e Desabilitar Menus na WVWTOOLS 0.83
Isso já tinha achado no sabado mesmo, e fiz funcionar assim:
Agora o problema é outro, veja se pode me ajudar, de vez em quando esta dando um erro pra lá de estranho, que não gera ERRO.LOG e não tem lugar certo para acontecer, abaixo no link um screem da tela com o erro.
http://www.sygecom.com.br/erro.bmp
Estou usando: xharbour 1.0.0 + Bcc 5.5.1 + wvwtools 083 + vl
Qualquer dica é bem vinda.
Código: Selecionar todos
:AddMenuItem( "&1-Tabela de COMPRA", { || PESQTABC("N") },{||.f.},,,,)http://www.sygecom.com.br/erro.bmp
Estou usando: xharbour 1.0.0 + Bcc 5.5.1 + wvwtools 083 + vl
Qualquer dica é bem vinda.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- acelconsultoria
- Usuário Nível 3

- Mensagens: 231
- Registrado em: 10 Jan 2006 17:05
- Localização: Itápolis-SP
Re: Habilitar e Desabilitar Menus na WVWTOOLS 0.83
Vixe... que estranho !!!!
Mas o erro aconteceu depois que vc começou a usar os recursos de validações no menu
? Ou já vinha ocorrendo
?
Sinistro demais !!!!! rssssssssssss.....
Mas o erro aconteceu depois que vc começou a usar os recursos de validações no menu
Sinistro demais !!!!! rssssssssssss.....
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Consultoria e Projetos
-------------------------------------------------------
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Habilitar e Desabilitar Menus na WVWTOOLS 0.83
Já resolvi tmb. era apenas a ordem das LIB na hora de compilar, coloquei a WVWTOOLS para primeiro e tudo ficou normal, vou adiante com meu projeto.
Obrigado pela atenção.
Obrigado pela atenção.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql