Página 1 de 1
xharbour + GTWVW a tecla PGDOWN nao funciona
Enviado: 06 Out 2007 18:25
por Luciano Bonfim
Quando abro um dbedit dentro de uma janela (wvw_nopenwindow) ele funciona normalmente menos a tecla PGDOWN. ela nem sequer é passada para a funçäo de usuário definida no DBEDIT.
Funcionam todas as outras teclas, menos a PGDOWN tenho a impressäo que deve ter algum controle que pega ela antes do DBEDIT
Alguem sabe oq pode ser?
Muito Obrigado
Enviado: 08 Out 2007 00:52
por vagucs
Luciano, ja perdi a conta dos sistemas que migrei usando a WVW, nunca vi este problema.
Enviado: 08 Out 2007 11:17
por Luciano Bonfim
Estranho mesmo... se eu tiro a GTWVW o PGDOWN funciona...
e näo é só o DBEDIT näo, tenho uma funçäo que usa TBROWSE e ela tb parou de funcionar a tecla PGDN, já estou começando a pensar que pode ser o Menu que coloquei no meu programa principal... será que ele pega a tecla pra ele?
Enviado: 08 Out 2007 12:12
por vagucs
faz um programa pequeno com dbf e manda pro meu email
vagucs@vagucs.com.br que vou compilar aqui e ver o que pode estar havendo.
Enviado: 08 Out 2007 12:44
por janio
Será que em vez da GTWVW vc está usando é a WVWTOOLs???
Já li comentários que esse problema ocorre com a wvwtools... inclusive já foi postado até uma correção no news do xharbour.
Jânio
Enviado: 08 Out 2007 13:32
por Luciano Bonfim
Näo estou näo, inclusive nem consegui gerar a wvwtools pra testar...
Enviado: 08 Out 2007 14:52
por Luciano Bonfim
O problema é com o Menu mesmo eu uso uma funçäo para trabalhar com mouse no Menu (näo lembro onde peguei ela näo, mas deve ter sido em algum exemplo do CVS)
<code>
s_afontinfo := WVW_getfontinfo()
SETINKEYAFTERBLOCK({|nkey| nAfterInkey(nkey)}) // o problema do pgdown esta aqui nessa funcao
hWnd := WVW_GETWINDOWHANDLE()
hnivel1 = WVW_CreateMenu()
.
. aqui entra meu Menu via WVW_AppendMenu
.
WVW_SetMenu(, hnivel1 )
wvw_EnableShortcuts(,.t.)
/* this is for use with SETINKEYAFTERBLOCK() */
function nAfterInkey(nkey)
* check if nkey is:
* (1) menu command, or
* (2) mouse button action
local bAction
if nkey==WVW_DEFAULT_MENUKEYEVENT
* MenuKeyEvent
return nMenuChecker(WVW_GETLASTMENUEVENT())
//was: elseif ASCAN({K_LBUTTONDOWN, K_LBUTTONUP, K_MOUSEMOVE}, nKey) > 0
elseif ASCAN({K_LBUTTONDOWN, K_LBUTTONUP, K_MOUSEMOVE, K_MMLEFTDOWN,;
K_LDBLCLK}, nKey) > 0
* MouseEvent
//return wvwm_nMouseChecker(nkey)
elseif (bAction := SETKEY(nKey)) != NIL
eval(bAction, PROCNAME(), PROCLINE(), READVAR())
return 0
endif
return nkey //nAfterInkey(nkey)
</code>
essa funçäo está pegando aminha tecla PGDN mesmo eu estando em outra janela que näo seja a janela principla que está o Menu. Tem alguma maneira de desabilitar essa funçäo nas outras janelas e depois voltar a habilitá-la na janela principal?
Muito Obrigado