Cezar Posted September 18, 2003 Report Share Posted September 18, 2003 Olá, Tenho uma dialog com vários buttons em sequencia: Inclui Altera Exclui Consulta... Se clico com o mouse no Altera, a clasula ACTION executa beleza !!! Se aperto o ENTER, pula para o botão seguinte e não executa o ACTION !!! O mesmo com todos!! Estou olhando a classe TButton ( nativa do FWH 2.4 ), mais ainda não encontrei o problema. Voces têm alguma dica sobre este problema??? Grato. Quote Link to comment Share on other sites More sharing options...
karinha Posted September 18, 2003 Report Share Posted September 18, 2003 // Cezar.. Eu Faço assim para substituir os botoes... // 1) - exemplo oLbx:bKeyDown := {|nKey| IIF( nKey==13 .OR. nKey==32, ; MsgInfo( "Nao Disponivel" ), ) } // Sua Funcao // 2) - exemplo oLbx:bKeyDown := { | nKey | Faz_Pesquisa( nKey, ; ( oDbf:cAlias ), oLbx, oSay, ; oLbx:SetFocus(), ; oLbx:Refresh() ), ; IF ( nKey = VK_RETURN, ;// Enter ( Click(), GetClientes( .F., oDbf ), ; oLbx:SetFocus(), ; oLbx:Refresh() ), ; IF ( nKey = VK_INSERT, ;// Insert ( Click(), GetClientes( .T., oDbf ), ; oLbx:SetFocus(), ; oLbx:Refresh() ), ; IF ( nKey = VK_DELETE, ;// Delete ( Click(), ApagarCli( oDbf ), ; oLbx:SetFocus(), ; oLbx:Refresh() ), ) ) ) } João Santos São Paulo-Brasil (11) 3106-2832 a Noite karinhannah@ubbi.com.br Quote Link to comment Share on other sites More sharing options...
Cezar Posted September 18, 2003 Author Report Share Posted September 18, 2003 Ola João, como vai, O seu exemplo controla os Keys dentro da ListBox; o meu problema está nos Buttons. Na minha dialog não tem ListBox; tem 1 Folder, vários gets e vários buttons !!! Buttons: [inclui] [Altera] [Exclui] [Consulta] Se clicar com o mouse no "botão Alterar" a cláusula ACTION é executada normalmente!! Se posicionar, com as setas, o foco em cima do "botão Alterar" e der ENTER, a cláusula ACTION "NÃO É EXECUTADA" e foco passa para o botão seguinte. Se funciona com o MOUSE e não funciona com o ENTER, presumo que seja um problema da classe TButton. O que acha ??? Grato. Quote Link to comment Share on other sites More sharing options...
karinha Posted September 18, 2003 Report Share Posted September 18, 2003 Usando o mesmo exemplo, troque oLbx por oDlg... Tente... Olhe os exemplos do samples... Não desista tão fácil, pegue a idéia... Porque será que 'ele' postou isso? Eu sei que você é inteligente! Abraços. João Santos São Paulo-Brasil (11) 3106-2832 a Noite karinhannah@ubbi.com.br Quote Link to comment Share on other sites More sharing options...
karinha Posted September 19, 2003 Report Share Posted September 19, 2003 Cezar, Teste e você entendera o que eu quero dizer... Se voce esta usando o WORKSHOP.EXE para fazer suas telas, verifique se os estao alinhados com o <1,2>, se não estiverem alinhe-os. oWnd:bKeyDown = { | nKey | MsgInfo( "Down: " + Str( nKey ) ) } oWnd:bKeyChar = { | nKey | MsgInfo( "Char: " + Str( nKey ) ) } oGet:bKeyDown = { | nKey | MsgInfo( nKey ) } // Troque pela funcao oFld:bKeyDown = { | nKey | MsgInfo( nKey ) } // Troque pela funcao oDlg:bKeyDown = { | nKey | MsgInfo( nKey ) } // Troque pela funcao // Assim, também substituo os meus botões... SetKey (32, { | nKey | Teste( nKey ) } ) SetKey (27, { | nKey | Teste( nKey ) } ) // Este Recurso Traz o Icone de Filtro Por Matricula SetKey( VK_F2,{|nKey| FiltrarM( oDbf ), ; oLbx:Refresh() , ; oLbx:SetFocus(), ; oLbx:DrawSelect() } ) João Santos São Paulo-Brasil (11) 3106-2832 a Noite karinhannah@ubbi.com.br Quote Link to comment Share on other sites More sharing options...
Cezar Posted September 20, 2003 Author Report Share Posted September 20, 2003 Ola João, Realmente é uma problema de foco. Usei uma function() xSetFocus(), postado em dicas pelo Vaner Virts em dicas!! Veja o exemplo que te enviei !! Muito obrigado pela preocupação e ajuda na solução do problema. Um abraço. Cezar. Quote Link to comment Share on other sites More sharing options...
karinha Posted September 20, 2003 Report Share Posted September 20, 2003 Data: 19/09/2003 23:25:21 De:Cezar Para:Karinh Cc: Assunto:Problemas de Foco !! João, bom dia. Desde já agradeço a sua ajuda e preocupação, VALEU MUITO!!! Acho que chegamos a uma solução: Deduzi que o problema estava no foco, após o ENTER executava a function "Alterar", mas não ia para o GET[ 2]; percebi que se coloca-se uma Msginfo() simulando um stop, o foco ia para o GET[ 2] !! Lembrei de ter visto alguma coisa referente a foco em dicas: achei a function xSetFocus() em dicas, postada pelo Vagner Virts, veja a mudança abaixo. Ufa !! Pra hoje é só, semana que vem tem mais um pepino prá voces. Um abraço e bom fim semana !!! Cezar. Exemplo: DEFINE DIALOG oDlg FROM ................ @ 10,10 GET oGet[ 2] PROMPT ........ ......... ......... Isto não funcionava !!! @ 182,240 BUTTON oBtn PROMPT "&Alterar" ; OF oDlg SIZE 25,10 PIXEL ; ACTION ( aOpe := PN_Altera( aOpe, oDlg, oDbf, oGet, oBtn ) Isto funcionou !!! @ 182,240 BUTTON oBtn PROMPT "&Alterar" ; OF oDlg SIZE 25,10 PIXEL ; ACTION ( aOpe := PN_Altera( aOpe, oDlg, oDbf, oGet, oBtn ),; xSetFocus( oGet[2] ), oGet[2]:SetFocus() ) @ 182,280 BUTTON oBtn[9] PROMPT "&Sair" ; OF oDlg SIZE 25,10 PIXEL ; ACTION oDlg:End() CANCEL oDlg:bStart := {|| oBtn:SetFocus() } ACTIVATE DIALOG oDlg CENTERED VALID ( PN_Fecha( oDbf, oFld ), .T.) RETURN Nil ********************************************************************* Isto não funcionava !!! ********************************************************************* FUNCTION PN_Altera( aOpe, oDlg, oDbf, oGet, oBtn ) oDbf[1]:Load() aOpe[1] := 2 aOpe[2] := oDbf[1]:NumPed aOpe[3] := oDbf[1]:NumPed aOpe[4] := 0 oDlg:Update() oGet[2]:SetFocus() // aqui o foco não ia para Get[ 2] // Até ia, mas não segurava!! RETURN aOpe ********************************************************************* Isto funcionou !!! ********************************************************************* FUNCTION PN_Altera( aOpe, oDlg, oDbf, oGet, oBtn ) oDbf[1]:Load() aOpe[1] := 2 aOpe[2] := oDbf[1]:NumPed aOpe[3] := oDbf[1]:NumPed aOpe[4] := 0 //oDlg:Update() //xSetFocus( oGet[ 2] ) // aqui também não //oGet[ 2]:SetFocus() RETURN aOpe ********************************************************************* Esta function() foi postada pelo Vagner Virts em dicas!! ********************************************************************* STATIC FUNCTION xSetFocus(oObj) Local oTempo := "" Define Timer oTempo Interval 10 Of oObj:oWnd ; Action (oObj:SetFocus(),oObj:SetPos(0),oTempo:Deactivate()) Activate Timer oTempo RETURN Nil ********************************************************************* FIM ***************************************************************** Cezar... Esqueci que você usava o @Say Minha Resposta: Que horror! Pensei que você estava usando o WORKSHOP.EXE! Isto nunca teria acontecido se Fizesse seus programas usando o WORKSHOP.EXE. Ainda dá tempo! Desista desta coisa medonha de @Say enquanto é tempo! Deus me livre e guarde de uma coisa terrivel destas em minha vida! Isto é fim de carreira! Você nunca verá eu usando um truque ao usar o WORKSHOP.EXE para acertar o FOCO de absolutamente nada em meus programas... o WORKSHOP acerta sozinho pra mim! E Cezar? Você disse que estava com problemas nos BOTÕES e não no FOCO de um GET! Só quem usa @Say pode confundir 'alhos' com 'bugalhos' nada a ver o seu problema... Se você estivesse usando o WORKSHOP.EXE nunca pagaria este 'MICO'! No futuro, poste o Código junto com sua pergunta, ai fica mais fácil para o pessoal do @Say(Irrccc) te ajudar! @Say... Eu não Say! xSetFocus() Com Recursos... ???? Fala sério! Never! Never! Never! Só rindo! xSetFocus()????? Me da calafrios só de pensar em @Say... hehehehehehehehehehehehe Abraços. João Santos São Paulo-Brasil (11) 3106-2832 a Noite karinhannah@ubbi.com.br Quote Link to comment Share on other sites More sharing options...
Cezar Posted September 21, 2003 Author Report Share Posted September 21, 2003 Ola João, Ia postar o código depois do seu e-mail, mas tive que sair rapidamente. Comecei usando o WorkShop com FWH 2.4 mas desisti porque dá tanto erros de DLL, e as mensagens diz claramente que é corrompimento da DLL de 32bits coisa assim, tanto que desisti. O problema não é Buttons nem dos Gets: o problema é do FWH, por isso que se criou uma function auxiliar. Mas tá tudo certo. Até mais, Cezar. Quote Link to comment Share on other sites More sharing options...
karinha Posted September 22, 2003 Report Share Posted September 22, 2003 PRESTIGIE O I ENCONTRO DE PROGRAMADORES EM FW Não concordo. Tente de novo! Pegue outros exemplos. Não desista do WORKSHOP.EXE nunca! É o futuro! Não constinue com o famigerado @Say... Você vai se arrepender! Abraços. João Santos São Paulo-Brasil (11) 3106-2832 a Noite karinhannah@ubbi.com.br Quote Link to comment Share on other sites More sharing options...
Edmar Posted September 22, 2003 Report Share Posted September 22, 2003 Olá, se você usa o WorkShop para colocar seus Buttons, o problema está lá. Verifique as propriedades dos Buttons dentro do WorkShop e você descobrirá o problema. Edmar R. Santos Sto. Ant. Monte - MG Quote Link to comment Share on other sites More sharing options...
Cezar Posted September 22, 2003 Author Report Share Posted September 22, 2003 Olá Edmar, Não estou usando o WorkShop com o FWH 2.4 porque tive tantos problemas do tipo "corrompimento da DLL 32 bits" que desisti. Voce usa Workshop com FWH 2.4 e não tem problemas?? Um abraço. Cezar. ********************************** citação:Olá, se você usa o WorkShop para colocar seus Buttons, o problema está lá. Verifique as propriedades dos Buttons dentro do WorkShop e você descobrirá o problema. Edmar R. Santos Sto. Ant. Monte - MG id=quote>id=quote> Quote Link to comment Share on other sites More sharing options...
karinha Posted September 22, 2003 Report Share Posted September 22, 2003 Se ele usa WorkShop.exe é óbvio que não tem problemas. Se tiver poste aqui! Abraços. João Santos São Paulo-Brasil (11) 3106-2832 a Noite karinhannah@ubbi.com.br Quote Link to comment Share on other sites More sharing options...
Alexandre Bassanezi Posted September 22, 2003 Report Share Posted September 22, 2003 João, seu WORKSHOPiscenter tá dando pau ... hahahaha Cezar, realmente o FW e FWH tem este problemão com ENTER nos botões nas últimas versões, eu corrigi isto de algum modo tb, mais não lembro como. []´s Alexandre Quote Link to comment Share on other sites More sharing options...
karinha Posted September 22, 2003 Report Share Posted September 22, 2003 Não concordo! Nà o tenho Problemas! Quais são? Só se for no FWH! Abraços. João Santos São Paulo-Brasil (11) 3106-2832 a Noite karinhannah@ubbi.com.br Quote Link to comment Share on other sites More sharing options...
gilmer Posted September 22, 2003 Report Share Posted September 22, 2003 Olá, Utilize o WorkShop c/ RC ou RES no FWH (DLL 32 BITS) e você não terá mais problemas.Infelizmente o Workshop danifica as vezes a dll 32 bit citação: Olá Edmar, Não estou usando o WorkShop com o FWH 2.4 porque tive tantos problemas do tipo "corrompimento da DLL 32 bits" que desisti. Voce usa Workshop com FWH 2.4 e não tem problemas?? Um abraço. Cezar. ********************************** citação: Olá, se você usa o WorkShop para colocar seus Buttons, o problema está lá. Verifique as propriedades dos Buttons dentro do WorkShop e você descobrirá o problema. Edmar R. Santos Sto. Ant. Monte - MG id=quote>id=quote> id=quote>id=quote> Quote Link to comment Share on other sites More sharing options...
gilmer Posted September 22, 2003 Report Share Posted September 22, 2003 Olá, Qual é a sua versão do FWH, a ultima é FWH build Julho, verifique, se não for eu mando a atualização para você. citação: Olá, Tenho uma dialog com vários buttons em sequencia: Inclui Altera Exclui Consulta... Se clico com o mouse no Altera, a clasula ACTION executa beleza !!! Se aperto o ENTER, pula para o botão seguinte e não executa o ACTION !!! O mesmo com todos!! Estou olhando a classe TButton ( nativa do FWH 2.4 ), mais ainda não encontrei o problema. Voces têm alguma dica sobre este problema??? Grato. id=quote>id=quote> Quote Link to comment Share on other sites More sharing options...
Cezar Posted September 22, 2003 Author Report Share Posted September 22, 2003 Boa noite Gilmer, Minha versão é FWH 2.4 e adquiri no começo de 04/2003 e Harbour Alfa Build 42.0 ( Flex ) Sempre que usei o WorkShop foi com .RC, mas dá problemas também. Tentei usar um programa que voce postou em dicas, acho que o nome é "ResHacker", mas tambem não resolveu. Não tem sentido usar um segundo prá consertar o primeiro , isso não funciona. Desisti!! Se tiver alguma solução, agradeço. Cezar. Quote Link to comment Share on other sites More sharing options...
gilmer Posted September 23, 2003 Report Share Posted September 23, 2003 Olá, Passe o email que deseja receber a atualização do FWH, como também seu código na Virtual. Eu sempre usei RC e RES e nunca tive problemas. Favor dair maiores informações sobre seu problema em arquivos RC. Quote Link to comment Share on other sites More sharing options...
Cezar Posted September 23, 2003 Author Report Share Posted September 23, 2003 Gilmer, Vou te mandar o e-mail ??? Cezar. Quote Link to comment Share on other sites More sharing options...
gilmer Posted September 24, 2003 Report Share Posted September 24, 2003 Cezar, Estarei respondendo e enviando o produto amanhã (25/09/03) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.