Jump to content
Fivewin Brasil

TBmpGet em On Init


gibaf

Recommended Posts

Giba, tudo bem??

O que você está usando?? Que problema??

Poste uma parte do fonte para o pessoal ver.

Aliás, só uma sugestão: Clicar em "Meu Perfil" / "Enviar" e o que você digitar em "Assinatura" aparecerá em TODOS os tópicos que entrar.

EU POSTARIA ESSE TÓPICO EM PROGRAMAÇÃO E NÃO EM CLASSES.

Um abraço

Paulo/CONTATO SISTEMAS

Clipper53b / FW26 / Blinker70

Ajudar é um prazer, agradecer é uma obrigação

PRESTIGIEM O III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005

Editado por - pauloaraujo on 10/08/2005 17:31:20

Link to comment
Share on other sites

Sou tentar ser mais claro !

Tenho uma rotina q trabalha com dicionario de dados e com folder. Por exemplo: cliente e produtos chama a mesma funcao, bem como outros cadastros. De acordo com o cadastro eh uma tabela ou outra, usando o discionario de dados para os says/gets. Os folders tambem sao especifico de cada cadastro (cada um tem os seus, sendo # dos outros). Uso tambem rolagem com TScrWnd. Tenho o mesmo controle para todas os folder (fazendo assim, que todos os folders tenham o mesmo tamanho de rolagem, independendo do numero de campos no folder). Uso a classe TBmpGet para o get, pois necessito de image e execblock em F3 (pesquisa, calculadora ou calendario) de acordo com o tipo do campo. Ate aqui tudo bem.

oDlgMnt = TDialog():New(65,00,480,790,cDesOpe,,,.F.,128,"W*/W*",,,,.T.,,,,,)

oDlgMnt:bKeyDown := { | nKey | Ctrl_Teclas(nKey,oDlgMnt,_Tab) }

oFld:=TFolder():New(01,00,aPastas,{ },oDlgMnt,,"W*/W*",,.F.,.F.,398,186,,.T.,,)

Build_Pages(oDlgMnt,oFld,_Tab,_Ope,aPastas)

oFld:SetOption(1)

oFld:Show()

oDlgMnt:Activate(oDlgMnt:bLClicked,oDlgMnt:bMoved,oDlgMnt:bPainted,.T.,,,{|Self| (ControlRolag(oFld),CreaBarra(@oImageList1,oDlgMnt,_Tab),)},oDlgMnt:bRClicked,,)

*-------------------------------------------------------------

Static Function Build_Pages(oDialog,oFolder,_Tab,_Ope,aPastas)

*-------------------------------------------------------------

Local oSDlg

Local iFold,i, ovscroll,xi,OHSCROLL

For iFold := 1 to Len(oFolder:aDialogs)

@ 000,000 Say "" OF oFld:aDialogs[iFold] Pixel Size 1500,10000 COLOR "W*/W*"

oFld:aDialogs[iFold]:oVScroll := TScrollBar():WinNew(,,,(.not..F.) .or. .T. ,oFld:aDialogs[iFold],,,,,,,,,.F.,,)

SaysGets(_Tab,_Ope,oFld:aDialogs[iFold],iFold)

Next iFold

Return(oFolder)

*---------------------------------

Static Function ControlRolag(oFld)

*---------------------------------

Local iFold

For iFold := 1 to Len(oFld:aDialogs)

&("oScrWnd"+StrZero(iFold,3)) := TScrWnd():New(oFld:aDialogs[iFold],1, 300,1 ,1)

Next

Return(Nil)

Na funcao SaysGets uso o discionario para por os says e get com bBlock no TBmpGet() quando o campo for de pesquisa (F3), calculadora ou calendario.

=====================

ATE AQUI TUDO BEM...

=====================

O problema q estou precisando mudar a rolagem (fazer de acordo para cada folder - um folder nececitara de uma rolagem a mais ou a menos, e outra, ainda, talvez nao nececitara de rolagem). Para isso, precisei mudar a chamada da funcao Build_Pages (postada acima) para ser executada no ON INIT do dialogo. Dessa forma, na classe TBmpGet() nao mostra a imagem e muito menos o bBlock para a execucao de pesquisa, calendario ou calculadora (sem mencionar a borda que fica diferente - mas esse ate que nao seria problemas).

oDlgMnt = TDialog():New(65,00,480,790,cDesOpe,,,.F.,128,"W*/W*",,,,.T.,,,,,)

oDlgMnt:bKeyDown := { | nKey | Ctrl_Teclas(nKey,oDlgMnt,_Tab) }

oFld:=TFolder():New(01,00,aPastas,{ },oDlgMnt,,"W*/W*",,.F.,.F.,398,186,,.T.,,)

//Build_Pages(oDlgMnt,oFld,_Tab,_Ope,aPastas)

oFld:SetOption(1)

oFld:Show()

//oDlgMnt:Activate(oDlgMnt:bLClicked,oDlgMnt:bMoved,oDlgMnt:bPainted,.T.,,,{|Self| (ControlRolag(oFld),CreaBarra(@oImageList1,oDlgMnt,_Tab),)},oDlgMnt:bRClicked,,)

oDlgMnt:Activate(oDlgMnt:bLClicked,oDlgMnt:bMoved,oDlgMnt:bPainted,.T.,,,{|Self| (ControlRolag(oFld),CreaBarra(@oImageList1,oDlgMnt,_Tab),Build_Pages(oDlgMnt,oFld,_Tab,_Ope,aPastas) )},oDlgMnt:bRClicked,,)

Return(Nil)

Espero poder ter ajuda !

Desde ja, obrigado !

Giba

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...