Jump to content
Fivewin Brasil

Ajuda no ListBox


ram_bh

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...