kapiaba Posted August 17, 2007 Report Share Posted August 17, 2007 ANDERSON, PORQUE VOCE PRECISA DE UM MENU NO ON INIT DO DIALOGO?? ESTE DIALOGO QUE VODE POSTOU, ESTà DANIFICADO. Jà CORRIGIDO, POR MIM. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Skype: fw_kapiaba FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Anthony Ormond Posted August 17, 2007 Author Report Share Posted August 17, 2007 Por favor poste em dicas. Obs: A dailog foi feito no Pelles. Anthony Ormond FWH(2.6)- C++ 5.5 -xHabour 0.99.51 (simplex) - Pelles C 4.50 Editado por - aormond on 17/08/2007 10:03:09 Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted August 17, 2007 Report Share Posted August 17, 2007 Kapiaba, como dica do amigo Marcelo (Kabelo), para incluir um menu no dialogo, eu devo executar o metodo SetMenu( oMenu ) do dialogo, e isto tem que ser feito durante/depois deste ter sido iniciado. Qto a necessidade da existencia de um menu do dialogo, isto faz parte da interface do sistema, por padrão toda janela deve oferecer multiplas formas de executar um mesmo procedimento para o usuario (seja através de botão, Menu, Tecla de atalho, comando de voz, sinal se fumaça, say lah). Este tipo de regra (fornecer multiplas formas de recurso para executar uma função) aprendi na facul, mas não é só por isto, veja bem, nas minhas telas de cadastro, tenho uma barra de ferramentas (ToolBar), esta nunca será modificada, e se comporta de acordo com o status do banco de dados! O menu também é padrão, mas pode existir a necessidade de incluir um recurso extra no cadastro, daew para nao modificar a interface da janela de cadastro, este recurso será inserido no menu! Veja as figura abaixo: Cadastro de produto (com um menu a +) Cadastro de clientes (menu padrão) Espero que tenha me entendido e que seja capaz de me ajudar!! Abraços Anderson.OL Skype: andersonolid=green> FW(2.6) | Clpp (5.3) FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5 Quebrando tudo!id=red> Quote Link to comment Share on other sites More sharing options...
Yury Posted August 17, 2007 Report Share Posted August 17, 2007 Anderson, parabéns pelo padrão das suas telas... muito profissional... um abraço V ENCONTRO DE FW - NOVEMBRO/2007 - Eu vou !!! E você ? Yury Marcelino Al Viman Sistemas vimansca@vimansca.com.br yury030575@yahoo.com.br (msn) skype: yury.marcelino.al Leme / SP FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 17, 2007 Report Share Posted August 17, 2007 Se der tempo, neste final de semana, vejo algo para ti... Estou enrolado. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Skype: fw_kapiaba FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted August 17, 2007 Report Share Posted August 17, 2007 citação:Se der tempo, neste final de semana, vejo algo para ti... Estou enrolado. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Skype: fw_kapiaba FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Kapiaba, entendo que todos aqui tem compromissos com empresa (qdo funcionarios) ou diretamente com clientes (qdo freelancers) sendo assim, nao se preocupe, curta seu fim de semana, agora que identifiquei o problema como sendo no menu (espero não estar errado) vou estudar melhor esta classe e tentar resolver isto por aki. Abraços Anderson.OL Skype: andersonolid=green> FW(2.6) | Clpp (5.3) FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5 Quebrando tudo!id=red> Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 17, 2007 Report Share Posted August 17, 2007 //-> é mais ou menos assim - Olhe para botoes2 #Include "FiveWin.Ch" #Define CLR_LGRAY nRGB( 230, 230, 230 ) #Define CLR_LGREEN nRGB( 190, 215, 190 ) //---------------------------------------------------------------------------// FUNCTION Usuario() // Usu rios das Senhas LOCAL oWndBrw, oLbx, oCursor, oHand, oFont USE Usuario INDEX CODUSER ALIAS Usuario SHARED Usuario->( DbGoTop() ) // cUser = C¢digo do Usu rio da Senha // cUsuario = Nome do Usu rio da Senha DEFINE FONT oFont NAME "Arial" WEIGHT 8 BOLD DEFINE CURSOR oHand RESOURCE "C_Hand" DEFINE DIALOG oWndBrw FROM 3,25 TO 32,75 ; TITLE ( OemToAnsi( "Controle de Usu rios" ) ) // Este Comando, Desliga Aquela ? Chata da Dialog que Pede o Help. oWndBrw:LHELPICON := .F. @ 1.2, 0 LISTBOX oLbx ; FIELDS Usuario->Codigo, Usuario->Nome ; HEADERS "Código" , "Usuário" ; SIZE 199, 204 ; COLOR CLR_BROWN, CLR_LGREEN ; OF oWndBrw ; FONT oFont ; ON DBLCLICK( Edita( oLbx, .F. ) ) oLbx:bKeyDown := { | nKey | IIF( nKey = VK_RETURN, ; ( Edita( oLbx, .F. ), ; oLbx:Refresh(), oLbx:SetFocus() ), ) } //--------------------------------------------------------------------- oLbx:nClrBackHead := CLR_LGREEN // Cor do Fundo do Cabe‡alho oLbx:nClrBackFocus := CLR_HRED // Cor do Cursor Em Cima do Ötem oLbx:nClrForeHead := CLR_HRED // Cor nos Headers - Cabe‡alhos // Cor no Pano de Fundo da Browse() Listbox-Legal - abaixo o comando oLbx:nClrPane := { || IIF( ( oLbx:cAlias )->( OrdKeyNo() ) %2 == 0, ; CLR_LGREEN, CLR_LGRAY ) } oLbx:nColAct := 2 // Onde o Cursor Vai Iniciar qual coluna? oLbx:nLineStyle := 3 // Separador de linhas nos dados oLbx:lCellStyle := .T. // S¢ Pinta a celula que o cursor est oLbx:aJustify := { .F., .F., .F., .F. } // Justifica As Colunas dos Campos Esq. .T. =Centro oLbx:lMChange := .F. // Desabilita Mousemove oLbx:SetFocus() // Refocus on The Browse oLbx:UpStable() // Corrects same page stabilizing Bug oLbx:Refresh() // Estabiliza o Browse/Listbox ACTIVATE DIALOG oWndBrw ; ON INIT Botoes2( oWndBrw, oLbx ) ; VALID ( !GetKeyState( VK_ESCAPE ) ) // Impede Sair Teclando oFont:End() oHand:End() EndDialog() GlobalFree() ResAllFree() RETURN NIL //---------------------------------------------------------------------------// STATIC FUNCTION Edita( oLbx, lAppend ) FIELD Codigo LOCAL oDlg, cCodigo, cNome, cChave LOCAL lSave := .F. LOCAL X_Itens := 0 LOCAL nOldRec := RecNo() // Para Somar o éltimo Registro, Para Usu rio NÆo Precisar Adivinhar LOCAL lRegistro, lCodigo, X_Codigo, Y_Codigo, SLCodigo, XYCodigo MEMVAR cAcessos, cUsuario, cUser DEFAULT lAppend := .F. If lAppend // Para Nova Senha Usuario->( DbGoBottom() ) // Transforma o éltimo Registro em N£merico e Soma + 1 Para C¢digo lRegistro := LASTREC() lCodigo := Codigo X_Codigo := lCodigo Y_Codigo := 1 SLCodigo := VAL( X_Codigo ) + ( INT( Y_Codigo ) ) XYCodigo := STR( SLCodigo ) lCodigo := LTRIM( XYCodigo ) Usuario->( DbSkip() ) If Val( lCodigo ) <= 9 cCodigo := Space( 3 ) cCodigo := "0" + ( AllTrim( lCodigo ) ) Else cCodigo := ( AllTrim( lCodigo ) ) Endif cNome = Space( 15 ) cChave = Space( 20 ) Else // Para Alterar a Senha Somente se For o Pr¢prio Dono da Senha If ( cUsuario ) == ( Usuario->NOME ) cCodigo = Usuario->Codigo cNome = Usuario->Nome cChave = Decrypt( Usuario->Chave, "Juanillo" ) Else MsgStop( OemToAnsi( "Aten‡Æo:-> " + cUsuario +CRLF+ ; "Vocˆ Est Tentando Alterar a" +CRLF+ ; "Senha do Usu rio: " +CRLF+ ; ( Usuario->NOME ) +CRLF+ ; "Isto ‚ Ilegal, Por Favor, NÆo" +CRLF+ ; "Fa‡a Isso, NÆo ‚ Permitido! " ), ; ( OemToAnsi( "Aten‡Æo, Entrada Proibida!" ) ) ) Return Nil Endif Endif DEFINE DIALOG oDlg RESOURCE "DIA018" // Este Comando, Desliga Aquela ? Chata da Dialog que Pede o Help. ODLG:LHELPICON := .F. REDEFINE GET cCodigo picture "999" ; ID 101 WHEN lAppend OF oDlg ; COLOR CLR_HRED, CLR_HCYAN REDEFINE GET cNome ID 102 OF oDlg ; COLOR CLR_HRED, CLR_HCYAN REDEFINE GET cChave ID 103 OF oDlg ; COLOR CLR_HRED, CLR_HCYAN REDEFINE BUTTON ID 550 OF oDlg ; ACTION ( lSave := .T. , oDlg:End() ) REDEFINE BUTTON ID 551 OF oDlg ; ACTION oDlg:End() CANCEL ACTIVATE DIALOG oDlg CENTERED If lSave .And. !Empty( cNome ) If lAppend Usuario->( DbAppend() ) For x_Itens = 1 to 156 cAcessos[x_Itens] = "0" Next x_Itens GravaAcesso() Endif If Usuario->(rlock()) Usuario->CODIGO := cCodigo Usuario->NOME := cNome Usuario->CHAVE := Encrypt(cChave,"Juanillo") unlock Else MsgAlert( "O Registro Está Bloqueado Por Outro Usuário", ; "Problemas de Rede" ) Endif oLbx:Refresh() Else Usuario->( DbGoTo( nOldRec ) ) Endif oLbx:Setfocus() EndDialog() GlobalFree() ResAllFree() return nil //---------------------------------------------------------------------------// STATIC FUNCTION Elimina( oLbx ) MEMVAR cAcessos, cUsuario, cUser //-----------------------------------------------------------------------// If ( cUsuario ) == ( Usuario->NOME ) // Pode Excluir Else MsgStop( OemToAnsi( "Aten‡Æo:-> " + cUsuario +CRLF+ ; "Vocˆ Est Tentando Excluir a" +CRLF+ ; "Senha do Usu rio: " +CRLF+ ; ( Usuario->NOME ) +CRLF+ ; "Isto ‚ Ilegal, Por Favor, NÆo" +CRLF+ ; "Fa‡a Isso, NÆo ‚ Permitido! " ), ; ( OemToAnsi( "Aten‡Æo, Entrada Proibida!" ) ) ) Return Nil Endif If MsgYesNo( OemToAnsi( "Aten‡Æo Por Favor:" ) + CRLF + ; OemToAnsi( "Est Seguro de " + ; "Querer Apagar Este Registro" ), ; OemToAnsi( "Selecione Uma Op‡Æo" ) ) If Usuario->(rLock()) Usuario->(DbDelete()) UnLock Endif oLbx:Refresh() oLbx:SetFocus() Endif oLbx:GoTop() oLbx:Refresh() oLbx:Setfocus() SysRefresh() return nil //---------------------------------------------------------------------------// STATIC FUNCTION Botoes2( oWndBrw, oLbx ) LOCAL oBar, oTab, oHand MEMVAR cAcessos, cUsuario, cUser DEFINE BUTTONBAR oBar SIZE 34,34 3D OF oWndBrw ; CURSOR oHand DEFINE BUTTON RESOURCE "ADD" OF oBar ; ACTION( Edita( oLbx, .T. ), oLbx:Refresh(), ; oLbx:Setfocus() ) ; TOOLTIP "Incluir Um Registro(Usuário)" ; NOBORDER DEFINE BUTTON RESOURCE "EDT" OF oBar ; ACTION( Edita( oLbx, .F. ), oLbx:Refresh(), ; oLbx:Setfocus() ) ; TOOLTIP "Modificar Um Registro(Usuário)" ; NOBORDER DEFINE BUTTON RESOURCE "DEL" OF oBar ; ACTION( Elimina( oLbx ), oLbx:Refresh(), ; oLbx:Setfocus() ) ; TOOLTIP "Eliminar Um Registro(Usuário)" ; NOBORDER DEFINE BUTTON RESOURCE "LLAVES" OF oBar ; ACTION( Acessos(), oLbx:Refresh(), ; oLbx:Setfocus() ) ; TOOLTIP "Controle de Acessos" ; NOBORDER DEFINE BUTTON RESOURCE "REPORT" OF oBar ; ACTION( oLbx:Report() ) ; TOOLTIP "Imprimir Usuários" ; NOBORDER DEFINE BUTTON RESOURCE "EXIT", "EXIT2" OF oBar ; ACTION( DbCloseAll(), oWndBrw:End() ) ; TOOLTIP "Finalizar" ; CENTER ; NOBORDER GROUP // Tratamentos Para a Barra de Botäes oBar:bRClicked := { || NIL } // Mouse Direito oBar:bLClicked := { || NIL } // Mouse Esquerdo RETURN NIL //-------------FIM DO PROGRAMA-----------------------------------------------// id=code>id=code>João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Skype: fw_kapiaba FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
personal Posted August 17, 2007 Report Share Posted August 17, 2007 Peguei o bonde andando e nao prestei muita atenção, portanto se falar besteira não vem com curva não... id=code>id=code>Putz esta de curva foi de lascar. Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted August 18, 2007 Report Share Posted August 18, 2007 num funfa, ppois qdo tem menu no dialog o evento keydown do combo num reconhece o vk_return! Anderson.OL Skype: andersonolid=green> FW(2.6) | Clpp (5.3) FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5 Quebrando tudo!id=red> Quote Link to comment Share on other sites More sharing options...
personal Posted August 18, 2007 Report Share Posted August 18, 2007 citação:Onde já se viu??Combinar um menu com uma Combobox e o Combobox para de funcionar?!?! id=quote>id=quote>O moço que dorme no vidro, não é que para de funcionar, e que vai ficar igual do Delphi, e isto programador que é programador não suporta. Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. Quote Link to comment Share on other sites More sharing options...
personal Posted August 18, 2007 Report Share Posted August 18, 2007 Sem tempo para aprofundar... Se a dialogs tiver menu,folder,combo nao apresenta o problema, assim como se a dialog nao tiver menu nem folder nao precisa do bKeyDown Assim que possÃvel continuarei, e sem CURVA nenhuma. Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted August 18, 2007 Report Share Posted August 18, 2007 citação:Sem tempo para aprofundar... Se a dialogs tiver menu,folder,combo nao apresenta o problema, assim como se a dialog nao tiver menu nem folder nao precisa do bKeyDown Assim que possÃvel continuarei, e sem CURVA nenhuma. Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. id=quote>id=quote>Entendo q esteja sem tempo, mas veja o teste q postei!! http://www.fivewin.com.br/exibedicas.asp?id=816 Basta tirar o menu da dialog q funfa!! Anderson.OL Skype: andersonolid=green> FW(2.6) | Clpp (5.3) FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5 Quebrando tudo!id=red> Quote Link to comment Share on other sites More sharing options...
personal Posted August 18, 2007 Report Share Posted August 18, 2007 Sim eu entendi, fiz os testes em cima do que voce postou. Apenas coloquei um Folder dentro do seu teste e o VK_RETURN funciona, mas como estou sem tempo (prazo para entregar sistema) apontei, quem sabe algum mestre, superpotencia ache a luz do fim do tunel. Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted August 18, 2007 Report Share Posted August 18, 2007 Anderson, Não tenho a curva de conhecimento do Kapiaba ou do Personal, mas acho que com botões dá para fazer tudo o que você está querendo, usando a dupla caipira HIDE() e SHOW(). Os botões podem ter a imagem que você quiser, inclusive a de um menu. Naquele exemplo que você mostrow(), após clicar em "Diversos", seria dado um SHOW() nos botões "Duplicar Externo", "Duplicar Cadastro" e "Filtro", além de um Disable() nos Gets. Após clicar numa das opções, é só fazer o contrário. Nunca tentei colocar um menu em Dialog, por isso minha curva é meia boca no assunto. PS. Sérgio, para alegrar o Fórum, o que significa "O moço que dorme no vidro" ?? (hehe) Editado por - pauloaraujo on 18/08/2007 15:32:53 Quote Link to comment Share on other sites More sharing options...
personal Posted August 19, 2007 Report Share Posted August 19, 2007 Aqui temos uma expressão quando o camarada fala asneiras, "Putz tú é Xarope heim !!!". Daà quando passa da conta... Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted August 20, 2007 Report Share Posted August 20, 2007 citação:Aqui temos uma expressão quando o camarada fala asneiras, "Putz tú é Xarope heim !!!". Daà quando passa da conta... Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. id=quote>id=quote>Essa eu não vou esquecer. Xarope := "O moço que dorme no vidro" id=code>id=code> Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted August 20, 2007 Report Share Posted August 20, 2007 citação:Sim eu entendi, fiz os testes em cima do que voce postou. Apenas coloquei um Folder dentro do seu teste e o VK_RETURN funciona, mas como estou sem tempo (prazo para entregar sistema) apontei, quem sabe algum mestre, superpotencia ache a luz do fim do tunel. Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. id=quote>id=quote>Mas jah tem um folder! o VK_RETURN funciona perfeitamente, com exceção dos componentes ComboBox e DBCombo! Tow vendo uma luz no fim do tunel, soh tow achando que a fonte de luz eh um trem =/ Anderson.OL Skype: andersonolid=green> FW(2.6) | Clpp (5.3) FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5 Quebrando tudo!id=red> Quote Link to comment Share on other sites More sharing options...
Anthony Ormond Posted August 21, 2007 Author Report Share Posted August 21, 2007 Help!!!!! Anthony Ormond FWH(2.6)- C++ 5.5 -xHabour 0.99.51 (simplex) - Pelles C 4.50 Quote Link to comment Share on other sites More sharing options...
personal Posted August 21, 2007 Report Share Posted August 21, 2007 Experimente fazem com @Say. @ l,c ComboBox oCampo Var vCampo ITEMS cItens OF oDlg[1] Pixel Size 100,100 UPDATE oCampo:bKeyDown:={|Tecla| if(Tecla=VK_RETURN,oCampo1:SetFocus() ,)}id=code>id=code>Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. Editado por - personal on 21/08/2007 09:12:41 Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted August 21, 2007 Report Share Posted August 21, 2007 citação:Experimente fazem com @Say. @ l,c ComboBox oCampo Var vCampo ITEMS cItens OF oDlg[1] Pixel Size 100,100 UPDATE oCampo:bKeyDown:={|Tecla| if(Tecla=VK_RETURN,oCampo1:SetFocus() ,)}id=code>id=code>Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. Editado por - personal on 21/08/2007 09:12:41 id=quote>id=quote>Ueh?!?! Vale misturar recurso com @ say ?? Anderson.OL Skype: andersonolid=green> FW(2.6) | Clpp (5.3) FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5 Quebrando tudo!id=red> Quote Link to comment Share on other sites More sharing options...
personal Posted August 21, 2007 Report Share Posted August 21, 2007 Puro bacanal, vale tudo. Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 21, 2007 Report Share Posted August 21, 2007 citação:Puro bacanal, vale tudo. Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. id=quote>id=quote>ANDERSON, OLHE O EXEMPLO QUE POSTEI, PARTA DALI, COLOQUE OS MENUS SUSPENSOS, NOS BOTOES. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Skype: fw_kapiaba FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted August 21, 2007 Report Share Posted August 21, 2007 citação: citação:Puro bacanal, vale tudo. Oliveira, Sérgio A. PERSONAL Comp. e Sitemas.id=green> FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate. TWBrowse(),C5Menu,vPrinter. id=quote>id=quote>ANDERSON, OLHE O EXEMPLO QUE POSTEI, PARTA DALI, COLOQUE OS MENUS SUSPENSOS, NOS BOTOES. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Skype: fw_kapiaba FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Kapiaba, como eu estava falando com Personal (pelo skype), o topico num é meu, tow soh dando uma força pra conseguir uma solução, vou pedir pro Anthony testar e postar o resultado aki no forum. Valeu pela solução. Obrigado Kapiaba, Personal, Paulo Araujo Anderson.OL Skype: andersonolid=green> FW(2.6) | Clpp (5.3) FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5 Quebrando tudo!id=red> Quote Link to comment Share on other sites More sharing options...
aferra Posted August 21, 2007 Report Share Posted August 21, 2007 Olá pessoal!!! Estive dando uma olhada nesta situação, e embora seja versão diferente, observei que o combobox não passa por keychar ( passa se vc usar as teclas ), keydown, Gotfocus, LostFocus, enfim, por nada, simplismente nada, acrescentei a windows, dialog, control, menu, menuitem, combobox, dbcombo, nada nada, se vc coloca oGt[23]:bKeydown := {| nKey | alert(nKey) }, ela passa pelo keydown do window.prg, aà achei que se mexesse por ali daria certo massss..... necas. Por anda passa o famijerado "ENTER" qdo está focado o combobox? se descobrir onde é mata a charada!!!!! Alessandroid=blue> FW20d+CL53b+Blinker7+@Say+CDX MSN: ferracini_silva@hotmail.com Ribeirão Preto/SP V ENCONTRO DE PROGRAMADORES FIVEWIN - NOVEMBRO/2007 - EU VOUid=red> Quote Link to comment Share on other sites More sharing options...
CIACPD Posted August 21, 2007 Report Share Posted August 21, 2007 Olá, para resolver o problema do enter no combobox inserir o seguinte método na classe: METHOD KeyChar( nKey, nFlags ) CLASS TComboBox local nNewAT := 0, nOldAT := ::nAT, uItem do case case nKey = 32 // VK_DELETE (DO NOT WORK!) ::cSearchKey := "" nNewAt := 1 uItem := ::aItems[nNewAt] case nKey = VK_BACK ::cSearchKey := Left( ::cSearchKey, Len( ::cSearchKey ) - 1 ) case nKey = 190 nKey := 0 ::cSearchKey += "." otherwise ::cSearchKey += Upper( Chr( nKey ) ) endcase if Empty( uItem ) if nNewAt == 0 nNewAt := AScan( ::aItems, {|x| Upper(x) = ::cSearchKey } ) IF nNewAt > 0 .AND. Len( ::aItems ) <= nNewAt uItem := ::aItems[ nNewAt ] ENDIF uItem := ::aItems[ IIF( nNewAt > 0, nNewAt, Max( ::nAT, 1 ) ) ] else uItem := ::aItems[ Max( nNewAt, 1) ] endif endif ::Set( uItem ) if ::bChange != nil .and. ( nNewAT != nOldAt .and. nNewAt != 0 ) Eval( ::bChange, Self, ::varGet() ) endif if nKey == VK_RETURN return ::oWnd:GoNextCtrl( ::hWnd ) endif return 0 // Must be 0 - We don't want API default behavior. id=code>id=code>Encontrei isto no forum espanhol a algum tempo quando deparei com este problema. Daniel Segura ciacpd@terra.com.br 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.