Jump to content
Fivewin Brasil

ricardomouramarques

Membros
  • Posts

    539
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by ricardomouramarques

  1. Luiz, Group em alto relevo, veja minha resposta aqui: http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=19276&whichpage=2&ARCHIVE= Editado por - ricardomouramarques on 09/05/2011 21:33:20
  2. citação:Tá mesmo bonito.. aqueles group´s em "alto relevo" é o meu sonho de consumo id=quote>id=quote>Luiz, Teste o código abaixo: ******************************************************************** #Include "Fivewin.ch" //------------------------------------------------------------------ Function Main() define Font oFont Name "Ms Sans Serif" Size 7, 14 define dialog oDlg title "Teste Frame" From 0,0 to 600, 600 pixel; COLOR 0, CLR_WHITE activate dialog oDlg Center ON Paint MeuGroup( oDlg ) Return NIL //------------------------------------------------------------------ Function MeuGroup( oDlg ) RGroup( 20, 50, 200, 250, oDlg, CLR_HBLUE) RGroup( 20, 300, 200, 550, oDlg, CLR_HGRAY ) RGroup( 300, 50, 500, 250, oDlg, CLR_RED ) RGroup( 300, 300, 500, 550, oDlg, CLR_GREEN ) Return NIL //------------------------------------------------------------------ Function RGroup( nRow, nCol, nRowF, nColF, oDlg, nCor ) local hPen, i, nR, nG, nB oDlg:GetDC() hPen := CreatePen( 0, 1, nCor ) hOldPen := SelectObject( oDlg:hDc, hPen ) MoveTo( oDlg:hDC, nCol, nRow ) LineTo( oDlg:hDC, nColF, nRow ) LineTo( oDlg:hDC, nColF, nRowF ) LineTo( oDlg:hDC, nCol, nRowF ) LineTo( oDlg:hDC, nCol, nRow ) SelectObject( oDlg:hDc, hOldPen ) DeleteObject( hPen ) nR := nRGBRed(nCor) nG := nRGBGreen(nCor) nB := nRGBBlue(nCor) nR += (255-nR)*0.8 nG += (255-nG)*0.8 nB += (255-nB)*0.8 if nR > 255 nR := 255 endif if nG > 255 nG := 255 endif if nB > 255 nB := 255 endif nCor := nRGB( nR, nG, nB) for i := 1 to 4 hPen := CreatePen( 0, 1, nRGB( nR, nG, nB ) ) hOldPen := SelectObject( oDlg:hDc, hPen ) MoveTo( oDlg:hDC, nCol+i, nRow+i ) LineTo( oDlg:hDC, nColF-i, nRow+i ) LineTo( oDlg:hDC, nColF-i, nRowF-i ) LineTo( oDlg:hDC, nCol+i, nRowF-i ) LineTo( oDlg:hDC, nCol+i, nRow+i ) SelectObject( oDlg:hDc, hOldPen ) DeleteObject( hPen ) nR := nRGBRed(nCor) nG := nRGBGreen(nCor) nB := nRGBBlue(nCor) nR -= (255-nR)*(0.9*i) nG -= (255-nG)*(0.9*i) nB -= (255-nB)*(0.9*i) if nR < 0 nR := 0 endif if nG < 0 nG := 0 endif if nB < 0 nB := 0 endif next Return NIL ******************************************************************** id=code>id=code>Veja o resultado:
  3. ops!!! copiei do seu e fiz errado. (o tal ctrl+c, ctrl+v só dá nisso) O certo é assim: oFld:aPrompts[ 8 ] := "Demais CNDs" oFld:SetPrompts(oFld:aPrompts) id=code>id=code>
  4. Rubens, Tem jeito sim de mudar apenas um. Faça assim: oFld:aDialogs[ 8 ]:aPprompts := "Demais CNDs" oFld:SetPrompts(oFld:aPrompts) id=code>id=code>
  5. citação:Adorei... id=quote>id=quote>O Dialog ou a Gata do Dialog?
  6. citação:oBrw:bkeyDown:={|nkey| tarefa(oBrw)}function tarefa(oBrw) wCol=oBrw:nColSel return .t. id=quote>id=quote>Olha só: Acredito que dessa maneira "wCol" trará o numero da coluna "visível". Ou seja: Vamos supor que eu tenha mais colunas do que o que está sendo apresentado. Então, se eu rolar 1 coluna para a direita, "wCol" me dirá que a segunda coluna é a numero "1". Daí não dará certo. Pra saber exatamente, qual coluna eu estou clicando faça assim: wCol := oBrw:ColAtPos( oBrw:nColSel ):nCreationOrder id=code>id=code>
  7. Pra saber em qual coluna está: id=code>id=code>Pra pegar o ::bKeyDown, vc pode alterar a classe: Faça assim: - Localize, no arquivo xbrowse.prg, o METHOD KeyDown( nKey, nFlags ) e coloque no inicio dele uma crítica ao bkeydown, tipo assim: //---------------------------------------------------------------------------// METHOD KeyDown( nKey, nFlags ) CLASS TXBrowse if ::bKeyDown <> NIL Eval(::bKeyDown, nKey, nFlags) endif ... ... ... id=code>id=code>
  8. VERTICAL ; RANGE 100, 0 ; MARKS 0; ON CHANGE SuaFuncao() ; SIZE 18, 70 PIXEL id=code>id=code>
  9. 01) J. Carlos - J. CARLOS (SP) - 02) Vitor - VITOR (SP) - magicreis@hotmail.com 03) Carlos Leÿen - DECKER (SP) - celeyendecker@hotmail.com 04) Herberson -HERBERSON (MG) - herberson@hotmail.com 05) Leonardo Machado - SYGECOM (RS) - 06) Vailton Renato - VAILTON (SP) - 07) Samir Abreu - SAMIR (RJ) - 08) Luiz Servulo - SERVULO (SP) - lrservulo@terra.com.br 09) Luiz Fernando - EMPRESOFT (SP) - empresoft@globo.com 10) Christiano Silveira - CTOAS (RS) - christiano.silveira@gmail.com 11) Cleiton A. Mendonça - CLEITONSH - cleiton.softhouse@bol.com.br 12) Rubens Martins - RUBENSMA (SP) - rumarti@gmail.com 13) Evandro G. de Paula - EVANDRO (MG) - imortal@skillnet.com.br 14) Valdir (SP) - 15) Geraldo (SP) - 16) Sebastião - TIAOFW (MG) - tiaopessoa@hotmail.com 17) Evaldo Wagner - EVALDO (SP) - evaldowl@hotmail.com 18) Cleber Conde - CLEBER (MG) - cleberconde@hotmail.com 19) Luis Antonio da Paixao - (MG) - 20) Kleyber Derick Batalha Ribeiro- (MA) - kleyber@tkinformidia.net 21) Sergio (SP) - 22) Narlem - NARLEM (MG) - narlem@nagas.com.br 23) José Manoel - SP (manoel.clipper) manoel@webnetdobrasil.com.br 23,9) Ricardo M. Marques (MG) - ricardomouramarques@hotmail.com
  10. citação:Achei...http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=14538 id=quote>id=quote>Everton, Esse site não está mais disponível. Mas quem desejar o VRMM poderá pegá-lo aqui: http://www.megaupload.com/?d=63YS4EJM
  11. citação:E o VRMM Union vai ser substituido por este novo designer?Os PRJ do VRMM Union podem ser "lidos" pelo novo? id=quote>id=quote>Então Everton, Como o VRMM possuia algums limitações para o que eu queria fazer, decidi começar do ZERO. Até coloquei no MENU deste novo designer uma opção importar, justamente pensando no VRMM, mas ainda não está funfando (não me dediquei a ela ainda). Mas talvez não seja possivel importar tudo, visto que este não trabalha com ferramentas de terceiros, como é o caso do VRMM. Somente FIVEWIN (por enquanto). Um detalhe: Ele salva os PRJ com uma estrutura totalmente diferente do VRMM e bem simples de ser interpretada. Poderá até mesmo efetuar alterações diretamente no arquivo (PRJ), se desejar. Agora, eu não diria substituir de fato o VRMM, visto que este não possui gerenciador de projetos. Serve apenas para desenhar as janelas e seus controles, e gerar o Codigo Fonte... Mas, acredito que isto seja o mais importante, porem pode não agradar a todos... Estou trabalhando agora no xBrowse. Assim que terminar este controle, disponibilizo pra vcs... vamos ver no que dá. Abraços.
  12. citação:Gera Fontes com @ l,c SAY , @ l,c GET , @ l,c listbox , @ l,c combobox, etc ?????????? ou usa recursos??? se não usar recursos ficará muito melhor... id=quote>id=quote>Pompeo, Como pode ver no vídeo, o código gerado é puro @..Say.
  13. citação: Gostei muito, onde baixa?id=quote>id=quote>Está faltando alguns detalhes... logo que concluir disponibiloz aqui.
  14. citação:relatorios ?id=quote>id=quote>Não está previsto citação:ele nao dependende de lib´s somente do fivewin e o xharbour ou harbour ?id=quote>id=quote>Somente Fivewin e Harbour/xHarbour
  15. citação:qual o custo ?id=quote>id=quote>R$1.000.000,00...brincadeirinha Custo = R$0,00 (free) citação:terá suporte ao xbrowse ?id=quote>id=quote>Quero que tenha... vamos ver até onde vai.
  16. Novo visual (designer) para fivewin: http://www.megaupload.com/?d=VDIFSPJ9
  17. Novo visual (designer) para fivewin: http://www.megaupload.com/?d=VDIFSPJ9
  18. nNum := -1 // nNum é negativo if nNum < 0 // se for negativo nNum *= -1 // agora é positivo endif id=code>id=code>
  19. Não funciona porque vc está usando um mesmo objeto para todos eles, ou seja "oGet", e uma só VAR para todos (aData[1]). Não seria aData[1] e aData[2] ? faz assim: aGets1 := {} aGets2 := {} FOR I:=1 TO len(aData) vn_pedint = adata[1] vn_qtde = adata[2] vn_rede = adata[3] * ?vn_qtde,adata[2] AADD(aGets1, NIL) AADD(aGets2, NIL) @ vn_lin, 01 GET aGets1 VAR adata[1] SIZE 70, 10 OF oDlgCom @ vn_lin, 18 GET aGets2 VAR adata[2] SIZE 30, 10 OF oDlgCom vn_lin=vn_lin+1 * ?vn_qtde,adata[2] next id=code>id=code>
  20. citação:Ricardo, não tem como fazer a mesmo coisa usando RECURSOS? id=quote>id=quote>João, Como eu não trabalho com recursos, então "eu não say"...kkk Mas observe que este "GROUP" é apenas uma função. Então acredito pode ser usado com recursos. Você tem apenas que passar o :bPainted := {|| MeuGroup(oWnd, oFont) }, onde oWnd é o objeto da sua janela. Na chamada da função: nCor1, nCor2, nClrText ) id=code>id=code>Você define o "GROUP". Posição, tamanho, fonte, cores das linhas, cor do título, etc. Teste aí e me fale.
  21. Se não tem jeito, faz um. Vai aí: ********************************************************************************** #Include "Fivewin.ch" //-------------------------------------------------------------------------------- Function F_oForm1( ) Define FONT oFont NAME "Ms Sans Serif" SIZE 0,12 Define dialog oForm1 TITLE "Form1" FROM 0, 0 TO 600, 900 PIXEL oForm1:bPainted := {|| MeuGroup(oForm1,oFont) } Activate dialog oForm1 CENTER Return NIL //--------------------------------------------------------------------------- Function MeuGroup(oWnd, oFont) RGroup( 20, 50, 200, 250, "Programa", oFont, oWnd, CLR_HGRAY, CLR_WHITE, CLR_BLACK ) RGroup( 20, 300, 200, 550, "Teste", oFont, oWnd, RGB(0, 88, 176), CLR_WHITE, CLR_BLUE ) Return NIL //--------------------------------------------------------------------------- Function RGroup( nRow, nCol, nRowF, nColF, cLabel, oFont, oDlg, nCor1, nCor2, nClrText ) local hPen local nHeight := Abs( oFont:nHeight ) local nWidth := oFont:nWidth * (Len( cLabel )+3) if nWidth < 0 nWidth *=-1 endif oDlg:GetDC() hPen := CreatePen( 0, 1, nCor1 ) hOldPen := SelectObject( oDlg:hDc, hPen ) MoveTo( oDlg:hDC, nCol+nWidth, nRow ) LineTo( oDlg:hDC, nColF, nRow ) LineTo( oDlg:hDC, nColF, nRowF ) LineTo( oDlg:hDC, nCol, nRowF ) LineTo( oDlg:hDC, nCol, nRow ) LineTo( oDlg:hDC, nCol+5, nRow ) SelectObject( oDlg:hDc, hOldPen ) DeleteObject( hPen ) hPen := CreatePen( 0, 1, nCor2 ) hOldPen := SelectObject( oDlg:hDc, hPen ) MoveTo( oDlg:hDC, nCol+nWidth, nRow+1 ) LineTo( oDlg:hDC, nColF+1, nRow+1 ) LineTo( oDlg:hDC, nColF+1, nRowF+1 ) LineTo( oDlg:hDC, nCol+1, nRowF+1 ) LineTo( oDlg:hDC, nCol+1, nRow+1 ) LineTo( oDlg:hDC, nCol+5, nRow+1 ) SelectObject( oDlg:hDc, hOldPen ) DeleteObject( hPen ) RText( oDlg:hDC, cLabel, nRow-nHeight/2, nCol+8, nClrText, oFont ) Return NIL //----------------------------------------------------------------------------// Function RText( hDc,cPrompt,Y,X,nClrText,oFont) Local hOldFont, nOldMode, nOldClrText nOldClrText:=SetTextColor(hDC,nClrText) nOldBkMode:=SetBkMode(hDC,1) NoldBkMode:=SetbkMode(nrgb(224,226,222),1) hOldFont:=SelectObject(hDC,oFont:hFont) TextOut(hDC,Y,X,cPrompt,Len(cPrompt)) SelectObject(hDC,hOldFont) SetBkMode(hDC,nOldBkMode) SetTextColor(hDC,nOldClrText) Return NIL ***************************************************************************** id=code>id=code>
  22. citação: COMO RESOLVER ISSOid=quote>id=quote>Na TGET nativa não há tratamento para a cor do texto quando focado. Então você teria que modifica-la. Uma outra opção seria vc usar duas pequenas funções: MySetColor( aGets ) DefColor( oGet ) fiz um pequeno exemplo: ********************************************************************************** #Include "Fivewin.ch" //-------------------------------------------------------------------------------- Function F_oForm1( ) cGet1 := Space( 40 ) cGet2 := Space( 40 ) cGet3 := Space( 40 ) cGet4 := Space( 40 ) cGet5 := Space( 40 ) Define FONT oF_Form1_1 NAME "Ms Sans Serif" SIZE 0,12 Define dialog oForm1 TITLE "Form1" FROM 50, 350 TO 361, 570 PIXEL; COLOR 0, 16578548 @ 10, 11 GET oGet1 VAR cGet1 SIZE 77, 10 PIXEL; COLOR 0, 16777215 OF oForm1 FONT oF_Form1_1 @ 31, 11 GET oGet2 VAR cGet2 SIZE 77, 10 PIXEL; COLOR 0, 16777215 OF oForm1 FONT oF_Form1_1 @ 52, 11 GET oGet3 VAR cGet3 SIZE 77, 10 PIXEL; COLOR 0, 16777215 OF oForm1 FONT oF_Form1_1 @ 73, 11 GET oGet4 VAR cGet4 SIZE 77, 10 PIXEL; COLOR 0, 16777215 OF oForm1 FONT oF_Form1_1 @ 95, 11 GET oGet5 VAR cGet5 SIZE 77, 10 PIXEL; COLOR 0, 16777215 OF oForm1 FONT oF_Form1_1 Activate dialog oForm1 ON Init MySetColor( {oGet1, oGet2, oGet3, oGet4, oGet5} ) Return NIL //----------------------------------------------------------------------------// function MySetColor( aGets ) Local i, oGet for i := 1 to len( aGets ) MyDefColor(aGets) next aGets[1]:Refresh() return nil //----------------------------------------------------------------------------// Function MyDefColor(oGet) oGet:bGotFocus := {|| oGet:nClrText := nRGB(255, 255, 255), oGet:nClrPane := nRGB( 0, 0 ,250 ) } oGet:bLostFocus := {|| oGet:nClrText := 0, oGet:nClrPane := nRGB( 255, 255 ,255 ) } Return NIL ********************************************************************************** id=code>id=code>
  23. isso eu não sei, mas... - Como word anterior ao 2003, basta salvar como RTF (rich text format). - Feche o arquivo e reabra o .RTF, depois é só ir em ferramentas->desproteger... pronto. Caso use um office mais novo, a opção neste caso é fazer o mesmo procedimento com o broffice (podem ser as versões mais novas).
  24. Valeu pessoal... vou ver o que consigo e depois posto aqui citação:no meu xharbour tem essa pasta com os arquivos. id=quote>id=quote>Laiton, Vou baixar o xharbour pelo SVN e ver se consigo compilar o bicho. Qualquer coisa eu dou um grito aqui. kkk
×
×
  • Create New...