ram_bh Posted January 16, 2007 Report Share Posted January 16, 2007 Olás! Com o código abaixo quero atualizar o conteúdo do GET a cada movimentação do ListBox. Como fazer? //... DEFINE DIALOG oDlg RESOURCE "TAB_PRO" OF oWnd oDlg:lHelpIcon := .F. REDEFINE GET oCod_Pro VAR cCod_Pro ID 101 OF oDlg Valid Ver_(1) MESSAGE OemToAnsi("Informe o c¢digo do programa") REDEFINE GET oTit_Pro VAR cTit_Pro ID 102 OF oDlg Valid Ver_(2) MESSAGE OemToAnsi("Informe o t¡tulo do programa") REDEFINE GET oDes_Pro VAR cDes_Pro ID 103 OF oDlg Valid Ver_(3) MESSAGE OemToAnsi("Informe a descri‡Æo do programa") REDEFINE LISTBOX oBrw ; FIELDS Tab_Pro->Cod_Pro,; Tab_Pro->Tit_Pro,; Tab_Pro->Des_Pro; ID 104 ; OF oDlg; HEADERS OemToAnsi("C¢digo"),; OemToAnsi("T¡tulo"),; OemToAnsi("Descri‡Æo"); ALIAS "TAB_PRO" ; ON LEFT DBLCLICK Alt_(2); ON RIGHT CLICK Alt_(1) REDEFINE BUTTON oBtn_Alt ID 8100 OF oDlg ACTION (Alt_(2),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Nov ID 8200 OF oDlg ACTION (Alt_(1),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Exc ID 8300 OF oDlg ACTION (Exc_(),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Gra ID 8400 OF oDlg ACTION (Gra_(),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Ret ID 8500 OF oDlg ACTION oDlg:End() CANCEL oCod_Pro:Disable() oTit_Pro:Disable() oDes_Pro:Disable() oBtn_Gra:Disable() oBrw:bKeyDown := { |nKey| If(nKey=13,(Nov_(2),oBrw:SetFocus()),; (oBrw:Refresh(),oBrw:SetFocus())) } oBrw:Refresh() oBrw:SetFocus() ACTIVATE DIALOG oDlg ON INIT (Nov_(2),oBrw:SetFocus()) Tab_Pro->(DbCloseArea()) //... A função Nov_() recupera as informações da tabela para as variáveis (opcao 2) ou inicializa sem conteúdo (opcao 1). A função Alt_() ativa o GET das variáveis, com a opcao 1 não é ativado o GET no código (que é chave primária). Tentei usar oBrw:bKeyDown mas não consegui ou não estou sabendo usa-la. Agradeço qualquer ajuda. Rodrigo Melo Clip53 / FW24 / WS Belo Horizonte Quote Link to comment Share on other sites More sharing options...
ram_bh Posted January 16, 2007 Author Report Share Posted January 16, 2007 Olás! Com o código abaixo quero atualizar o conteúdo do GET a cada movimentação do ListBox. Como fazer? //... DEFINE DIALOG oDlg RESOURCE "TAB_PRO" OF oWnd oDlg:lHelpIcon := .F. REDEFINE GET oCod_Pro VAR cCod_Pro ID 101 OF oDlg Valid Ver_(1) MESSAGE OemToAnsi("Informe o c¢digo do programa") REDEFINE GET oTit_Pro VAR cTit_Pro ID 102 OF oDlg Valid Ver_(2) MESSAGE OemToAnsi("Informe o t¡tulo do programa") REDEFINE GET oDes_Pro VAR cDes_Pro ID 103 OF oDlg Valid Ver_(3) MESSAGE OemToAnsi("Informe a descri‡Æo do programa") REDEFINE LISTBOX oBrw ; FIELDS Tab_Pro->Cod_Pro,; Tab_Pro->Tit_Pro,; Tab_Pro->Des_Pro; ID 104 ; OF oDlg; HEADERS OemToAnsi("C¢digo"),; OemToAnsi("T¡tulo"),; OemToAnsi("Descri‡Æo"); ALIAS "TAB_PRO" ; ON LEFT DBLCLICK Alt_(2); ON RIGHT CLICK Alt_(1) REDEFINE BUTTON oBtn_Alt ID 8100 OF oDlg ACTION (Alt_(2),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Nov ID 8200 OF oDlg ACTION (Alt_(1),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Exc ID 8300 OF oDlg ACTION (Exc_(),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Gra ID 8400 OF oDlg ACTION (Gra_(),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Ret ID 8500 OF oDlg ACTION oDlg:End() CANCEL oCod_Pro:Disable() oTit_Pro:Disable() oDes_Pro:Disable() oBtn_Gra:Disable() oBrw:bKeyDown := { |nKey| If(nKey=13,(Nov_(2),oBrw:SetFocus()),; (oBrw:Refresh(),oBrw:SetFocus())) } oBrw:Refresh() oBrw:SetFocus() ACTIVATE DIALOG oDlg ON INIT (Nov_(2),oBrw:SetFocus()) Tab_Pro->(DbCloseArea()) //... A função Nov_() recupera as informações da tabela para as variáveis (opcao 2) ou inicializa sem conteúdo (opcao 1). A função Alt_() ativa o GET das variáveis, com a opcao 1 não é ativado o GET no código (que é chave primária). Tentei usar oBrw:bKeyDown mas não consegui ou não estou sabendo usa-la. Agradeço qualquer ajuda. Rodrigo Melo Clip53 / FW24 / WS Belo Horizonte Quote Link to comment Share on other sites More sharing options...
LUIS1361303120 Posted January 16, 2007 Report Share Posted January 16, 2007 Bom dia Eu faco assim, nao sei se serve para voce: REDEFINE LISTBOX oLbx1 FIELDS oficio->ofnum , dtoc(oficio->data) ; HEADERS "Oficio",'Data' FIELDSIZES 90,20 ID 182 OF oDlg1 update ; on change ( verdaof(),olbx1:refresh() ) *------------------ procedure verdaof() wOFnum = OFICIO->OFnum wDATA = OFICIO->DATA wSERVICO = OFICIO->SERVICO wASSUNTO = OFICIO->ASSUNTO wPRESIDENTE = OFICIO->PRESIDENTE wnome = OFICIO->NOME wcargo = OFICIO->cargo wtitulo3 = OFICIO->titulo3 wtitulo4 = OFICIO->titulo4 WSEXO = OFICIO->SEXO wENDERECO = OFICIO->ENDERECO wCIDADE = OFICIO->CIDADE wBAIRRO = OFICIO->BAIRRO wCEP = OFICIO->CEP wUF = OFICIO->UF wdigitado = oficio->usuario O117:VARPUT(WDIGITADO) o102:refresh() ; o103:refresh() ; o104:refresh() ; o105:refresh() o107:refresh() ; o108:refresh() ; o109:refresh() ; o110:refresh() o111:refresh() ; o112:refresh() ; o113:refresh() ; o114:refresh() o115:refresh() ; o116:refresh() ; o128:refresh() ; o117:refresh() return Quote Link to comment Share on other sites More sharing options...
Kbelo Posted January 16, 2007 Report Share Posted January 16, 2007 Isto Resolve DEFINE DIALOG oDlg RESOURCE "TAB_PRO" OF oWnd oDlg:lHelpIcon := .F. REDEFINE GET oCod_Pro VAR cCod_Pro ID 101 OF oDlg Valid Ver_(1) MESSAGE OemToAnsi("Informe o c¢digo do programa") REDEFINE GET oTit_Pro VAR cTit_Pro ID 102 OF oDlg Valid Ver_(2) MESSAGE OemToAnsi("Informe o t¡tulo do programa") REDEFINE GET oDes_Pro VAR cDes_Pro ID 103 OF oDlg Valid Ver_(3) MESSAGE OemToAnsi("Informe a descri‡Æo do programa") REDEFINE LISTBOX oBrw ; FIELDS Tab_Pro->Cod_Pro,; Tab_Pro->Tit_Pro,; Tab_Pro->Des_Pro; ID 104 ; OF oDlg; HEADERS OemToAnsi("C¢digo"),; OemToAnsi("T¡tulo"),; OemToAnsi("Descri‡Æo"); ALIAS "TAB_PRO" ; ON LEFT DBLCLICK Alt_(2); ON RIGHT CLICK Alt_(1) ; on change(Atualiza()) REDEFINE BUTTON oBtn_Alt ID 8100 OF oDlg ACTION (Alt_(2),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Nov ID 8200 OF oDlg ACTION (Alt_(1),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Exc ID 8300 OF oDlg ACTION (Exc_(),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Gra ID 8400 OF oDlg ACTION (Gra_(),oBrw:Refresh(),oBrw:SetFocus()) REDEFINE BUTTON oBtn_Ret ID 8500 OF oDlg ACTION oDlg:End() CANCEL oCod_Pro:Disable() oTit_Pro:Disable() oDes_Pro:Disable() oBtn_Gra:Disable() oBrw:bKeyDown := { |nKey| If(nKey=13,(Nov_(2),oBrw:SetFocus()),; (oBrw:Refresh(),oBrw:SetFocus())) } oBrw:Refresh() oBrw:SetFocus() ACTIVATE DIALOG oDlg ON INIT (Nov_(2),oBrw:SetFocus()) Tab_Pro->(DbCloseArea()) *====================== Static Function Atualiza *====================== cCod_Pro := Tab_Pro->Cod_Pro cTit_Pro := Tab_Pro->Tit_Pro cDes_Pro := Tab_Pro->Des_Pro ocCod_Pro :Refresh() ocTit_Pro :Refresh() ocDes_Pro :Refresh() Return id=code>id=code>Marcelo Michels celo.michels@ibestvip.com.br celo.michels@hotmail.com marcelo@lorenzi.com.br -> Lorenzi Soluções Têxteis <- Criciuma - SC xHarbour build 0.99.2 + WS Editado por - kbelo on 16/01/2007 11:13:11 Quote Link to comment Share on other sites More sharing options...
ram_bh Posted January 16, 2007 Author Report Share Posted January 16, 2007 Caro Marcelo, Bem lembrado... Havia esquecido da cláusula On Change... Obrigado e um abraço! Rodrigo Melo Quote Link to comment Share on other sites More sharing options...
ram_bh Posted January 16, 2007 Author Report Share Posted January 16, 2007 Marcelo, Mais uma: quando a Dialog é ativada gostaria que o foco fosse no ListBox. Já tentei o comando oBrw:SetFocus() antes do Activate Dialog mas não funcionou. Alguma dica? Obrigado! Quote Link to comment Share on other sites More sharing options...
vagner Posted January 16, 2007 Report Share Posted January 16, 2007 Olá, Renumere, ou no pellesc ou no ws, coloque o browse como o primeiro Vagner Wirts Clipper 5.2 Lib 5.3 - Blinker 5.0 FW 2.0, Harbour 43.0 (Flex), xHarbour 99.1 99.2 99.3 (Simplex) FW 2.5 Quote Link to comment Share on other sites More sharing options...
ram_bh Posted January 16, 2007 Author Report Share Posted January 16, 2007 Caro Vagner, Após posta a dúvida me lembrei deste detalhe... Obrigado e um abraço a todos! Rodrigo melo BH - MG Quote Link to comment Share on other sites More sharing options...
Kbelo Posted January 16, 2007 Report Share Posted January 16, 2007 Caso tenha uma dialog usada em varios lugares que usam um get como primeiro foco e somente nesta tem que ser o listbox Activate dialog... on init(xSetFocus(obrw)) *========================= FUNCTION xSetFocus( oObj ) *========================= LOCAL _oWnd := oObj:oWnd, _oTempo := "" DEFINE Timer _oTempo Interval 10 of _oWnd ; Action ( oObj:SetFocus(), _oTempo:End() ) ACTIVATE Timer _oTempo RETURN .T. id=code>id=code>Marcelo Michels celo.michels@ibestvip.com.br celo.michels@hotmail.com marcelo@lorenzi.com.br -> Lorenzi Soluções Têxteis <- Criciuma - SC xHarbour build 0.99.2 + WS 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.