Obg
BROWSE - erro ao clicar no cabeçalho
Moderador: Moderadores
-
clebervn
- Usuário Nível 3

- Mensagens: 286
- Registrado em: 12 Jun 2007 10:49
- Localização: Florianópolis/SC
BROWSE - erro ao clicar no cabeçalho
Em qq browse do meu sistema, ao clicar no cabeçalho da erro no método BUTTONDOWN do browse, alguém sabe como posso evitar isso 
Obg
Obg
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: BROWSE - erro ao clicar no cabeçalho
Post um pequeno exemplo de como esta usando seu browse.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
clebervn
- Usuário Nível 3

- Mensagens: 286
- Registrado em: 12 Jun 2007 10:49
- Localização: Florianópolis/SC
Re: BROWSE - erro ao clicar no cabeçalho
Após sucessivos travamentos do site... lá vai :
------------------------------------
Nota da Moderação(Sygecom): Topico editado para colocar a TAG [ CODE ]
Veja como inserir a TAG [ CODE ]
faq.php?mode=bbcode#f21
Código: Selecionar todos
/////////////////////////////////////////////////////////////////////
FUNCTION RHCADVT()
PRIVATE oLabel1, oBrowse1
PRIVATE gPes,vPes:="",keyAnt:=0, keyend := .f.
// NOME DA BASE
PRIVATE vNomeBase := "valetr", nCodigo := 0, nTamTela := 600, nAltTela := 268
SELE &vNomeBase
SET ORDER TO 1
GO TOP
// CRIAÇÃO DA TELA DO GRID
INIT DIALOG oDlg1 TITLE "Meios de Transporte" ;
ICON oIcon ;
AT 344,223 SIZE nTamTela,nAltTela NOEXIT ;
STYLE WS_DLGFRAME+DS_CENTER+WS_SYSMENU
Thisform := oDlg1
// MENSAGEM FINAL DA TELA
@ 0,nAltTela-43 SAY oLabel1 CAPTION "<INS> Incluir novo transporte <ENTER> Alterar <DEL> Excluir" SIZE nTamTela,20 ;
STYLE SS_CENTER;
FONT oFontNorm
// BROWSE DA TABELA
@ 0, 0 BROWSE oBrowse1 DATABASE SIZE nTamTela,nAltTela-48 STYLE WS_VSCROLL ;
FONT oFontNorm ;
ON KEYDOWN {|o,key| BrowseKey(o, key) } ;
ON CLICK {|o,key| BrowseKey(o, key)} ;
ON POSCHANGE {|| SetFocus(oBrowse1:handle ) }
oBrowse1:alias := vNomeBase
oBrowse1:aColumns := {}
oBrw_CreateColumn( oBrowse1, "CODIGO","Código" , vNomeBase,1,"N", 2,0,,,DT_RIGHT,DT_RIGHT )
oBrw_CreateColumn( oBrowse1, "REF" ," Referência", vNomeBase,2,"C",40,0)
oBrw_CreateColumn( oBrowse1, "VALOR" ,"Valor " , vNomeBase,3,"N",15,2,,"@E 999,999,999.99",DT_RIGHT,DT_RIGHT)
ACTIVATE DIALOG oDlg1
RETURN oDlg1:lresult
*---------------------------------------------------------------------
* FUNÇÃO : TRATAMENTO DAS TECLAS DO GRID
*---------------------------------------------------------------------
static FUNCTION BrowseKey( oBrowse1, key )
DO CASE
CASE key == K_INS // inclusão de novo transporte
F_RHVT(0,"I")
oBrowse1:REFRESH()
CASE key == K_ENTER // alterar preço
nCodigo := &vNomeBase->CODIGO
F_RHVT(nCodigo,"A")
oBrowse1:REFRESH()
oBrowse1:SETFOCUS()
CASE key == K_DEL // exclusão de registro
SELECT &vNomeBase
IF Answer(2,"Confirma a exclusão ?") = 1
IF RLOCK()
DELETE
UNLOCK
SKIP -1
ELSE
FMsgErro("Registro indisponível, exclusão não realizada")
ENDIF
ENDIF
oBrowse1:REFRESH()
oBrowse1:SETFOCUS()
CASE key == K_UP .OR. key == K_DOWN .OR. key == K_PGUP .OR. key == K_PGDN .OR. ;
key == K_HOME .OR. key == K_END
IF key == K_HOME
oBrowse1:TOP()
oBrowse1:REFRESH()
ENDIF
IF key == K_END
oBrowse1:BOTTOM(.T.)
oBrowse1:REFRESH()
ENDIF
CASE key == K_ESC // fechar janela
EndDialog()
oBrowse1:REFRESH()
ENDCASE
RETURN .T.
Nota da Moderação(Sygecom): Topico editado para colocar a TAG [ CODE ]
Veja como inserir a TAG [ CODE ]
faq.php?mode=bbcode#f21
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: BROWSE - erro ao clicar no cabeçalho
Que função é essa oBrw_CreateColumn()?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: BROWSE - erro ao clicar no cabeçalho
Dei uma procurada nos source da Hwgui pela função oBrw_CreateColumn() e não achei, deve ser uma função sua mesmo, post ela aqui, talvez o erro estaja nela !!!
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
clebervn
- Usuário Nível 3

- Mensagens: 286
- Registrado em: 12 Jun 2007 10:49
- Localização: Florianópolis/SC
Re: BROWSE - erro ao clicar no cabeçalho
Sim é uma função minha para criação das colunas do grid.
Código: Selecionar todos
*---------------------------------------------------------------------
* FUNÇÃO : CRIAÇÃO DAS COLUNAS DO GRID
*---------------------------------------------------------------------
// 01 02 03 04 05 06 07
FUNCTION oBrw_CreateColumn( wBrowse , wCampo , wCabecalho, wBase , wSequencial, wTipo, wTamanho, ;
wDecimais, wEditavel, wPicture , wJusHead, wJusLin , wColorBlock)
// 08 09 10 11 12 13
LOCAL i
LOCAL nArea := &wBase->(SELECT())
IF wEditavel == NIL
wEditavel = .F.
ENDIF
IF wPicture == NIL
wPicture = ""
ENDIF
IF wJusHead == NIL
wJusHead = DT_LEFT
ENDIF
IF wJusLin == NIL
wJusLin = DT_LEFT
ENDIF
IF wColorBlock == NIL
wColorBlock = {|| {x_BLACK, x_WHITE , x_WHITE, x_DARKBLUE} }
ENDIF
// CONTEUDO DOS PARAMETROS PASSADOS - SOMENTE PARA TESTE
/*
MSGINFO("campo:"+WCAMPO)
MSGINFO("cabecalho:"+WCABECALHO)
MSGINFO("base:"+WBASE)
MSGINFO("sequencial:"+STR(WSEQUENCIAL))
MSGINFO("tipo C:"+WTIPO)
MSGINFO("tamanho:"+STR(WTAMANHO))
MSGINFO("decimais:"+STR(WDECIMAIS))
IF WEDITAVEL
MSGINFO("EDITAVEL")
ELSE
MSGINFO("NAO EDITAVEL")
ENDIF
MSGINFO("picture:"+WPICTURE)
MSGINFO("alinhamento cab:"+STR(WJUSHEAD))
MSGINFO("alinhamento reg:"+STR(WJUSLIN))
*/
// PARAMETROS
// ==========
// (A) cHeading = (03) wCabecalho => cabecalho do campo
// (B) Block = (02) wCampo e (04) nArea => arquivo em uso e nome do campo
// (C) Type = (06) wTipo => tipo do campo (C,D,N)
// (D) Length = (07) wTamanho => tamanho do campo
// (E) Dec = (08) wDecimais => qtdade de casas decimais
// (F) lEditable = (09) wEditavel => indica se campo permite edição ou não no browse
// (G) nJusHead = (11) wJusHead => posicionamento do cabeçalho no browse
// (left, center, right)
// (H) nJustLin = (12) wJusLin => posiconamento do campor no browse
// (left, center, right)
// (I) cPict = (10) wPicture => máscara do campo
// (J) bValid = (--) wValid => validação do campo
// (K) bWhen = (--) wWhen => condição do campo
// (L) aItem = (--) wItem => ???
// (M) bColorBlock = (13) wColorBlock => cor do registro selecionado e demais registros
// (N) bHeadClick = (--) wHeadClick => execução de comandos qdo clicar no cabeçalho
// não utilizados, declarados aqui
wValid := ""
wWhen := ""
wItem := ""
wHeadClick:= ""
wBrowse:AddColumn( HColumn():New( wCabecalho , FieldWBlock( wCampo, nArea ), wTipo , wTamanho, ;
wDecimais, wEditavel, wJusHead, wJuslin, wPicture, wValid, ;
wWhen, wItem, wColorBlock, wHeadClick ) )
wBrowse:REFRESH()
RETURN Nil
-
clebervn
- Usuário Nível 3

- Mensagens: 286
- Registrado em: 12 Jun 2007 10:49
- Localização: Florianópolis/SC
Re: BROWSE - erro ao clicar no cabeçalho
Descobri sem querer... hehehe
é sé eu definir o tal "wHeadClick" como NIL... ai da certo....
abc
é sé eu definir o tal "wHeadClick" como NIL... ai da certo....
abc
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: BROWSE - erro ao clicar no cabeçalho
Menos mal que resolveu....flw.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql