gibaf Posted August 10, 2005 Report Share Posted August 10, 2005 Estou com problemas com a classe TBmpGet em dialog onde executo os says/gets em On Init do dialog. Alguem saberia/poderia dar alguma dica ?? Giba Quote Link to comment Share on other sites More sharing options...
gibaf Posted August 10, 2005 Author Report Share Posted August 10, 2005 Estou com problemas com a classe TBmpGet em dialog onde executo os says/gets em On Init do dialog. Alguem saberia/poderia dar alguma dica ?? Giba Quote Link to comment Share on other sites More sharing options...
gibaf Posted August 10, 2005 Author Report Share Posted August 10, 2005 Estou com problemas com a classe TBmpGet em dialog onde executo os says/gets em On Init do dialog. Alguem saberia/poderia dar alguma dica ?? Giba Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted August 10, 2005 Report Share Posted August 10, 2005 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 Quote Link to comment Share on other sites More sharing options...
gibaf Posted August 11, 2005 Author Report Share Posted August 11, 2005 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 Quote Link to comment Share on other sites More sharing options...
gilmer Posted August 12, 2005 Report Share Posted August 12, 2005 Você não deve criar controles após a ativação da janela, o que vc esta querendo fazer exatamente ? 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.