oliveiros Posted April 5 Report Share Posted April 5 Olá, bom dia! Pessoal é possível sobre imagem com outra imagem, ambas png. Vou detalhar aqui a minha necessidade: Tenho uma dialog, aonde eu divido em duas partes com o comando SetDlgGradient, sendo o lado esquerdo maior, 3/4 da tela. Sobre o lado maior, esquerdo, coloquei a imagem fundo.png, porém preciso colocar imagens sobre a fundo.png. Já tentei algumas opções que não funcionaram, como https://forums.fivetechsupport.com/viewtopic.php?f=3&t=36838&p=219823&hilit=bitmap+transparent&sid=65eca4af1d53bc22544edbbd2b12fc48#p219823; e transpBmp(). Alguém teria alguma sugestão? Att., Oliveiros Junior Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 5 Report Share Posted April 5 Se você postar como está fazendo, não facilita mais? E porquê tem que ser .PNG? se .JPG, é menor? Explique por gentileza; gracias, regards, saludos. Quote Link to comment Share on other sites More sharing options...
oliveiros Posted April 5 Author Report Share Posted April 5 Oi Kapiaba, blz? É o seguinte: Tenho um a dialog pintada com setDlgGradiente dividido horizontalmente, aonde o lado esquerdo e 3/4 da tela. Sobre esse lado eu consigo colocar uma imagem, porém necessito sobre essa imagem colocar outra, porém não funciona. Achei o comando TransBmp, porém só funciona com bmp e preciso que seja png. Att., Oliveiros Junior Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 5 Report Share Posted April 5 Se você retira o setDlgGradiente, que acontece? tem algum código para testes? Regards, saludos. Quote Link to comment Share on other sites More sharing options...
Ladinilson Posted April 9 Report Share Posted April 9 Fiz uma Dialog e depois uma outra dialog em cima e obtive essse efeito... Na dialog usei uma transparência que o efeito ficou muito bom. Na primeira Dialog... FUNCTION VENDA() LSFundoTela := "C:\FUNDOEMPRESA\FUNDO.JPG" DEFINE IMAGE oBmpLS FILE LSFundoTela DEFINE DIALOG TelMCaixa1 RESOURCE 'pedidosm3A' TITLE 'Vendas' FONT oFont COLOR nRGB(255, 255,255),RGB(255,255,255) TelMCaixa1:bPainted := { | hDC | PalBmpDraw( hDC, 0, 0, oBmpLS:hBitmap ,; oBmpLS:hPalette, ; TelMCaixa1:nWidth, ; TelMCaixa1:nHeight ) } TelMCaixa1:bStart := { || VENDA2(),TelMCaixa1:END() } ACTIVATE DIALOG TelMCaixa1 ON INIT DISPLAYT(TelMCaixa1,vFatorTVen,.f.) CENTER Na segunda Dialog... FUNCTION VENDA2() DEFINE DIALOG TelMCaixa RESOURCE 'pedidos' TITLE 'Vendas' TelMCaixa:nOpacity = 200 ACTIVATE DIALOG TelMCaixa ON INIT DISPLAYT(TelMCaixa,vFatorTVen,.f.) CENTER Lembrando que as Dialogs tem que ter o mesmo tamanho e para isso uso o no ACTIVE como: ON INIT DISPLAYT(TelMCaixa1,vFatorTVen,.f.) #include "FiveWin.ch" #include "common.ch" #include "xbrowse.ch" ********************************************************************* * NOME......: DISPLAY(oWnd,nResolution) * * VERSAO....: 3.0 - Julho de 2010 * * AUTOR.....: William de Brito Adami e FiveWidi, que iniciou este projeto * no Forum Espanhol de Fivewin . * * DESCRICAO.: Funcao para exibir a tela sempre igual em qualquer * resolucao, independente da fonte ou controle utilizado. * * PARAMETROS: oWnd: Window ou Dialog a ser redimensionado * nResolution: Numero correspondente a resolucao * que se desenhou inicialmente a tela. * ********************************************************************* function displayT( oWnd, nResolution, lFullres ) local lAutoresize:=.t. , nWhatSize:=0, lRepaint:=.t. * atencao: nResolution identifica em que resolucao foram inicialmente * desenhadas as telas, e DEVE ter um dos seguintes valores: * * 1 = 640 X 480 * 2 = 800 X 600 * 3 = 1024 X 768 * 4 = 1152 X 864 * 5 = 1280 X 800 * 6 = 1280 X 1024 * 7 = 1600 X 1200 * 8 = 768 X 1024 * 9 = 1440 X 900 * 10 = 1280 X 768 * 11 = 1280 X 720 AutResiz( lAutoresize, nWhatSize, oWnd, nResolution, lRepaint, lFullres ) return nil /* (20/08/2009) Inicio do REdesenvolvimento da funcao. Parametros recebidos : lAutoresize: ativa / desativa redimensionamento automatico nWhatSize: permite for‡ar o redimensionamento a valores concretos; permitindo desta maneira que a aplica‡ao possa ter um valor ao qual redimensionar as telas. oWnd: Objeto/janela/dialogo/controle a ser redimensionado. nResolution: Numero que identifica que resolucao tinha a tela na qual se desenhou o objeto. lRepaint: Indicador se deve repintar o objeto uma vez redimensionado. lFullres: Indica se os textos devem ser redimensionados no tamanho maximo do resource desenhado. Esta funcao deve ser utilizada no evento ON INIT do ACTIVATE das WINDOWs e DIALOGs . Exemplo: ACTIVATE DIALOG oDlg ON INIT display(oDlg,2,.t.) //desenhada em 800 X 600 -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* -* */ FUNCTION AutResiz( lAutoresize, nWhatSize, oWnd, nResolution, lRepaint,lFullres ) // Resolucao da tela no momento de definir os controles. Local nOriWidth, nOriHeight // o normal seria que fosse a resolucao atual da tela (nWhatSize=0). // Se permite forcar esta resolucao mediante o valor de nWhatSize=1,2,3,4,5,6,7,.... Local nWidth, nHeight // Sao as relacoes entre a resolucao de tela e a resolucao de desenho. Local nFactorWitdh, nFactorHeight Local nContador,ofonttmp DEFAULT lRepaint := .T. nOriWidth := 0 nOriHeight := 0 nWidth := 0 nHeight := 0 nContador := 0 If ABS(nResolution) = 1 nOriWidth := 640 nOriHeight := 480 ElseIf ABS(nResolution) = 2 nOriWidth := 800 nOriHeight := 600 ElseIf ABS(nResolution) = 3 nOriWidth := 1024 nOriHeight := 768 ElseIf ABS(nResolution) = 4 nOriWidth := 1152 nOriHeight := 864 ElseIf ABS(nResolution) = 5 nOriWidth := 1280 nOriHeight := 800 ElseIf ABS(nResolution) = 6 nOriWidth := 1280 nOriHeight := 1024 ElseIf ABS(nResolution) = 7 nOriWidth := 1600 nOriHeight := 1200 ElseIf ABS(nResolution) = 8 nOriWidth := 768 nOriHeight := 1024 ElseIf ABS(nResolution) = 9 nOriWidth := 1440 nOriHeight := 900 ElseIf ABS(nResolution) = 10 nOriWidth := 1280 nOriHeight := 768 ElseIf ABS(nResolution) = 11 nOriWidth := 1280 nOriHeight := 720 ElseIf ABS(nResolution) = 12 nOriWidth := 2560 nOriHeight := 1440 // 12 2560 x 1440 0.92% ElseIf ABS(nResolution) = 13 nOriWidth := 2560 nOriHeight := 1600 // 13 2560x1600 8:5 WQXGA 0.05% ElseIf ABS(nResolution) = 14 nOriWidth := 1920 nOriHeight := 1080 //14 1920x1080 16:9 HD 1080 10.97% ElseIf ABS(nResolution) = 15 nOriWidth := 1680 nOriHeight := 1050 //15 1680x1050 8:5 WSXGA+ 3.29% ElseIf ABS(nResolution) = 16 nOriWidth := 1366 nOriHeight := 768 // 16 1366x768 HD 22.98% ElseIf ABS(nResolution) = 17 nOriWidth := 1360 nOriHeight := 768 //17 1360x768 2.33% ElseIf ABS(nResolution) = 18 nOriWidth := 1280 nOriHeight := 1080 // 18 1280x1080 0.001% ElseIf ABS(nResolution) = 19 nOriWidth := 1280 nOriHeight := 960 // 19 1280x960 0.46% ElseIf ABS(nResolution) = 20 nOriWidth := 1280 nOriHeight := 600 // 20 1280x600 0.01% ElseIf ABS(nResolution) = 21 nOriWidth := 720 nOriHeight := 480 // 21 720x480 3:2 NTSC 0.001% Else ScrResolution( @nOriWidth, @nOriHeight ) Endif If nWhatSize = 1 nWidth := 640 nHeight := 480 ElseIf nWhatSize = 2 nWidth := 800 nHeight := 600 ElseIf nWhatSize = 3 nWidth := 1024 nHeight := 768 ElseIf nWhatSize = 4 nWidth := 1152 nHeight := 864 ElseIf nWhatSize = 5 nWidth := 1280 nHeight := 800 ElseIf nWhatSize = 6 nWidth := 1280 nHeight := 1024 ElseIf nWhatSize = 7 nWidth := 1600 nHeight := 1200 ElseIf nWhatSize = 8 nWidth := 768 nHeight := 1024 ElseIf nWhatSize = 9 nWidth := 1440 nHeight := 900 ElseIf nWhatSize = 10 nWidth := 1280 nHeight := 768 ElseIf nWhatSize = 11 nWidth := 1280 nHeight := 720 ElseIf nWhatSize = 12 nWidth := 2560 nHeight := 1440 // 12 2560 x 1440 0.92% ElseIf nWhatSize = 13 nWidth := 2560 nHeight := 1600 // 13 2560x1600 8:5 WQXGA 0.05% ElseIf nWhatSize = 14 nWidth := 1920 nHeight := 1080 //14 1920x1080 16:9 HD 1080 10.97% ElseIf nWhatSize = 15 nWidth := 1680 nHeight := 1050 //15 1680x1050 8:5 WSXGA+ 3.29% ElseIf nWhatSize = 16 nWidth := 1366 nHeight := 768 // 16 1366x768 HD 22.98% ElseIf nWhatSize = 17 nWidth := 1360 nHeight := 768 //17 1360x768 2.33% ElseIf nWhatSize = 18 nWidth := 1280 nHeight := 1080 // 18 1280x1080 0.001% ElseIf nWhatSize = 19 nWidth := 1280 nHeight := 960 // 19 1280x960 0.46% ElseIf nWhatSize = 20 nWidth := 1280 nHeight := 600 // 20 1280x600 0.01% ElseIf nWhatSize = 21 nWidth := 720 nHeight := 480 // 21 720x480 3:2 NTSC 0.001% Else ScrResolution( @nWidth, @nHeight ) Endif If lAutoresize .and. nOriHeight != nHeight /* Este sera o caso habitual, ao qual se pretende redimensionar os controles na resolucao da tela na qual estao viendo. */ If nResolution > 0 nFactorWitdh := nWidth / nOriWidth nFactorHeight := nHeight / nOriHeight ElseIf nResolution < 0 nFactorWitdh := nOriWidth / nWidth nFactorHeight := nOriHeight / nHeight EndIf If lRepaint oWnd:Hide() EndIf * se aumentou a altura If nFactorHeight > 1 ***************************** * se tiver barbutton * NOVO * ***************************** if ownd:obar <> NIL ownd:obar:nwidth:=ownd:obar:nwidth* nfactorwitdh ownd:obar:nHeight:=ownd:obar:nHeight*nfactorheight ownd:obar:nbtnwidth:=ownd:obar:nbtnwidth*nfactorwitdh ownd:obar:nbtnHeight:=ownd:obar:nbtnHeight*nfactorheight for i= 1 to len(ownd:obar:acontrols) ownd:obar:acontrols[i]:Move( ownd:obar:acontrols[i]:nTop * nFactorHeight , ; ownd:obar:acontrols[i]:nLeft * nFactorWitdh, ; ownd:obar:acontrols[i]:nWidth * nFactorWitdh, ; ownd:obar:acontrols[i]:nHeight * nFactorHeight , ; .F. ) * redimensiona o BMP da BARBUTTON o:=ownd:obar:acontrols[i]:hbitmap1 if o<>0 hbmp:=ownd:obar:acontrols[i]:hbitmap1 nbmpwidth := nbmpwidth(hbmp) nbmpheight:= nbmpheight(hbmp) larg:=nbmpwidth*nfactorwitdh alt:=nbmpheight*nfactorheight o:=resizebmp(o,larg ,alt ) ownd:obar:acontrols[i]:hbitmap1:=o endif next ownd:obar:refresh() endif If oWnd:ClassName()$"/TIMAGE/" ad:=getcoors(ownd:hWnd) oWnd:Move( oWnd:nTop * nFactorHeight , ; oWnd:nLeft * nFactorWitdh, ; ((ad[4]-ad[2])) * nFactorWitdh, ; ((ad[3]-ad[1])) * nFactorHeight , ; .F. ) Else oWnd:Move( oWnd:nTop * nFactorHeight , ; oWnd:nLeft * nFactorWitdh, ; oWnd:nWidth * nFactorWitdh, ; oWnd:nHeight * nFactorHeight , ; .F. ) EndIf EndIf if oWnd:ClassName()$"/TFOLDER/TPAGES/" If ValType( oWnd:aDialogs ) = "A" For nContador := 1 To Len( oWnd:aDialogs ) AutResiz( lAutoresize, nWhatSize, oWnd:aDialogs[nContador], nResolution, .F.,lFullres ) EndFor EndIf Elseif oWnd:ClassName()$"/TBTNBMP/" ********************************* * redimensiona o BMP do BTNBMP o:=oWnd:hbitmap1 if o<>0 hbmp:=ownd:hbitmap1 nbmpwidth := nbmpwidth(hbmp) nbmpheight:= nbmpheight(hbmp) larg:=nbmpwidth*nfactorwitdh alt:=nbmpheight*nfactorheight o:=resizebmp(o,larg ,alt ) oWnd:hbitmap1:=o endif ********************************* elseif oWnd:ClassName()$"/TCOMBOBOX/TDBCOMBO/" Else If ValType( oWnd:aControls ) = "A" For nContador := 1 To Len( oWnd:aControls ) AutResiz( lAutoresize, nWhatSize, oWnd:aControls[nContador], nResolution, .F.,lFullres ) * ajuste de fontess * controle TSAY if ownd:acontrols[nContador]:classname$"/TSAY/TSAYREF/" ajustaalt(ownd:acontrols[nContador],nfactorheight,lFullres) ajustalarg(ownd:acontrols[nContador],ownd,nfactorwitdh,lFullres) ELSEif ownd:acontrols[nContador]:classname$"/TGET/TSSAY/TDSAY/" ajustaalt(ownd:acontrols[nContador],nfactorheight,lFullres) ajl_FLD(ownd:acontrols[nContador],nFactorWitdh) ELSEif ownd:acontrols[nContador]:classname$"/TFOLDER/TPAGES/TCOMBOBOX/TGROUP/TTREE/TCHECKBOX/TBTNBMP/TTOOLBAR/TRADIO/TDBCOMBO/TTABS/TXBROWSE/TSBROWSE/TWBROWSE/" aja_FLD(ownd:acontrols[nContador],nFactorHeight) ajl_FLD(ownd:acontrols[nContador],nFactorWitdh) endif EndFor EndIf EndIf * se diminuiu a altura If nFactorHeight < 1 ***************************** * se tiver barbutton * NOVO * ***************************** if ownd:obar <> NIL ownd:obar:nwidth:=ownd:obar:nwidth* nfactorwitdh ownd:obar:nHeight:=ownd:obar:nHeight*nfactorheight ownd:obar:nbtnwidth:=ownd:obar:nbtnwidth*nfactorwitdh ownd:obar:nbtnHeight:=ownd:obar:nbtnHeight*nfactorheight for i= 1 to len(ownd:obar:acontrols) ownd:obar:acontrols[i]:Move( ownd:obar:acontrols[i]:nTop * nFactorHeight , ; ownd:obar:acontrols[i]:nLeft * nFactorWitdh, ; ownd:obar:acontrols[i]:nWidth * nFactorWitdh, ; ownd:obar:acontrols[i]:nHeight * nFactorHeight , ; .F. ) * redimensiona o BMP da BARBUTTON o:=ownd:obar:acontrols[i]:hbitmap1 if o<>0 hbmp:=ownd:obar:acontrols[i]:hbitmap1 nbmpwidth := nbmpwidth(hbmp) nbmpheight:= nbmpheight(hbmp) larg:=nbmpwidth*nfactorwitdh alt:=nbmpheight*nfactorheight o:=resizebmp(o,larg ,alt ) ownd:obar:acontrols[i]:hbitmap1:=o endif next ownd:obar:refresh() endif *************************************** if oWnd:ClassName()$"/TIMAGE/" ad:=getcoors(ownd:hWnd) oWnd:Move( oWnd:nTop * nFactorHeight , ; oWnd:nLeft * nFactorWitdh, ; ((ad[4]-ad[2])) * nFactorWitdh, ; ((ad[3]-ad[1])) * nFactorHeight , ; .F. ) Elseif oWnd:ClassName()$"/TBTNBMP/" oWnd:Move( oWnd:nTop * nFactorHeight , ; oWnd:nLeft * nFactorWitdh, ; oWnd:nWidth * nFactorWitdh, ; oWnd:nHeight * nFactorHeight , ; .F. ) ********************************* * redimensiona o BMP do BTNBMP o:=oWnd:hbitmap1 if o<>0 hbmp:=ownd:hbitmap1 nbmpwidth := nbmpwidth(hbmp) nbmpheight:= nbmpheight(hbmp) larg:=nbmpwidth*nfactorwitdh alt:=nbmpheight*nfactorheight o:=resizebmp(o,larg ,alt ) oWnd:hbitmap1:=o endif ********************************* Else oWnd:Move( oWnd:nTop * nFactorHeight , ; oWnd:nLeft * nFactorWitdh, ; oWnd:nWidth * nFactorWitdh, ; oWnd:nHeight * nFactorHeight , ; .F. ) endif If ValType( oWnd:aControls ) <> "A" * ajuste de fontess * controle TSAY if ownd:classname$"/TSAY/TSAYREF/" ajustaalt(ownd,nfactorheight,lFullres) ajustalarg(ownd,ownd,nfactorwitdh,lFullres) ELSEif ownd:classname$"/TGET/TSSAY/TDSAY/" ajustaalt(ownd,nfactorheight,lFullres) ajl_FLD(ownd,nFactorWitdh) ELSEif ownd:classname$"/TFOLDER/TPAGES/TCOMBOBOX/TGROUP/TTREE/TCHECKBOX/TBTNBMP/TTOOLBAR/TRADIO/TDBCOMBO/TTABS/TXBROWSE/TSBROWSE/TWBROWSE/" aja_FLD(ownd,nFactorHeight) ajl_FLD(ownd,nFactorWitdh) endif EndIf EndIf If lRepaint if oWnd:lCentered // *** AAA ***// oWnd:Center() // *** AAA ***// endif // *** AAA ***// oWnd:Show() EndIf *************************************** * se for resolucao igual a que desenhou *************************************** elseif lAutoresize .and. nOriHeight = nHeight if lfullres If nResolution > 0 nFactorWitdh := nWidth / nOriWidth nFactorHeight := nHeight / nOriHeight ElseIf nResolution < 0 nFactorWitdh := nOriWidth / nWidth nFactorHeight := nOriHeight / nHeight EndIf If oWnd:ClassName()$"/TFOLDER/TPAGES/" If ValType( oWnd:aDialogs ) = "A" For nContador := 1 To Len( oWnd:aDialogs ) AutResiz( lAutoresize, nWhatSize, oWnd:aDialogs[nContador], nResolution, .F.,lfullres ) EndFor EndIf elseif oWnd:ClassName()$"/TIMAGE/" //TBITMAP/TLISTBOX/TWBROWSE/TSSAY/TDSAY/TSAYREF/" ad:=getcoors(ownd:hWnd) oWnd:Move( oWnd:nTop * nFactorHeight , ; oWnd:nLeft * nFactorWitdh, ; ((ad[4]-ad[2])) * nFactorWitdh, ; ((ad[3]-ad[1])) * nFactorHeight , ; .F. ) elseif oWnd:ClassName()$"/TCOMBOBOX/TDBCOMBO/" Else If ValType( oWnd:aControls ) = "A" For nContador := 1 To Len( oWnd:aControls ) AutResiz( lAutoresize, nWhatSize, oWnd:aControls[nContador], nResolution, .F.,lfullres ) * ajuste de fontes * controle TSAY if ownd:acontrols[nContador]:classname$"/TSAY/TSAYREF/" ajustaalt(ownd:acontrols[nContador],nfactorheight,lFullres) ajustalarg(ownd:acontrols[nContador],ownd,nfactorwitdh,lFullres) ELSEif ownd:acontrols[nContador]:classname$"/TGET/TSSAY/TDSAY/" ajustaalt(ownd:acontrols[nContador],nfactorheight,lFullres) ajl_FLD(ownd:acontrols[nContador],nFactorWitdh) ELSEif ownd:acontrols[nContador]:classname$"/TFOLDER/TPAGES/TCOMBOBOX/TGROUP/TTREE/TCHECKBOX/TBTNBMP/TTOOLBAR/TRADIO/TDBCOMBO/TTABS/TXBROWSE/TSBROWSE/TWBROWSE/" aja_FLD(ownd:acontrols[nContador],nFactorHeight) ajl_FLD(ownd:acontrols[nContador],nFactorWitdh) endif EndFor EndIf EndIf endif EndIf Return Nil FUNCTION AjustaLarg(oq,ownd,nfact,lfullres) * se nao tiver fonte atribuida, nao faz ! LOCAL cFontName := iif ( oq:oFont=NIL , "NAOFAZ" ,oq:oFont:cFaceName ) LOCAL lFlagReleaseFont := .F.,; nAlturaDaFonte,; nLarguraDaFonte := oq:ofont:nwidth,; nLarguraDoControle ,; nTime := SECONDS()+3,; oFontTmp,ofont if cFontName="NAOFAZ" return nil endif if oq:oFont:nWidth = NIL // *** AAA ***// oq:oFont:nWidth := 0 // *** AAA ***// endif // *** AAA ***// nAlturaDaFonte := oq:oFont:nHeight nlarguradafonte:=nlarguradafonte*nfact nLarguraDoControle := oq:nWidth if lFullres WHILE SECONDS() < nTime // Evita congelamento da aplicação caso não seja possível recalcular a fonte nLarguraDaFonte += 1 // Nao funciona com numeros facionados DEFINE FONT oFontTmp; NAME cFontName; SIZE nLarguraDaFonte,ABS(nAlturaDaFonte) lFlagReleaseFont := .T. IF oWnd:GetWidth(oq:varget(),oFontTmp) >= nLarguraDoControle EXIT ENDIF oq:SetFont(oFontTmp) oFont := oq:ofont //osay:GetFont() RELEASE FONT oFontTmp lFlagReleaseFont := .F. ENDDO IF lFlagReleaseFont RELEASE FONT oFontTmp ENDIF oq:SetFont(oFont) else DEFINE FONT oFontTmp; NAME cFontName; SIZE abs(nLarguraDaFonte),ABS(nAlturaDaFonte) oq:SetFont(oFontTmp) oFont := oq:ofont //osay:GetFont() RELEASE FONT oFontTmp endif * oq:Refresh() RETURN NIL FUNCTION AjustaAlt(oq,fact,lFullres) * se nao tiver fonte , nao faz ! LOCAL cFontName := iif ( oq:oFont=NIL , "NAOFAZ" ,oq:oFont:cFaceName ) LOCAL lFlagReleaseFont := .F., nAlturaDaFonte, nAlturaDoControle LOCAL nLarguraDaFonte, nTime:= SECONDS()+3, oFontTmp,ofont * se nao tiver fonte, volta sem ajustar if cfontname="NAOFAZ" return nil endif if oq:oFont:nWidth = NIL // *** AAA ***// oq:oFont:nWidth := 0 // *** AAA ***// endif // *** AAA ***// nAlturaDaFonte:=oq:ofont:nheight if lFullres * se tiver fonte , ajusta nAlturaDoControle := (oq:nHeight)-6 nLarguraDaFonte := oq:oFont:nWidth nAlturadaFonte:=nalturadafonte*fact WHILE SECONDS() < nTime // Evita congelamento da aplicação caso não seja possível recalcular a fonte nAlturaDaFonte += 0.1 // Na altura o fracionamento funcionou DEFINE FONT oFontTmp; NAME cFontName; SIZE nLarguraDaFonte,nAlturaDaFonte lFlagReleaseFont := .T. IF oFontTmp:nHeight >= nAlturaDoControle EXIT ENDIF oq:SetFont(oFontTmp) oFont := oq:ofont //oSay:GetFont() RELEASE FONT oFontTmp lFlagReleaseFont := .F. ENDDO IF lFlagReleaseFont RELEASE FONT oFontTmp ENDIF oq:SetFont(oFont) else nLarguraDaFonte := oq:oFont:nWidth nAlturadaFonte:=nalturadafonte*fact DEFINE FONT oFontTmp; NAME cFontName; SIZE abs(nLarguraDaFonte),ABS(nAlturaDaFonte) oq:SetFont(oFontTmp) oFont := oq:ofont //osay:GetFont() RELEASE FONT oFontTmp endif * oq:Refresh() RETURN NIL FUNCTION ajl_FLD(oq,nf) * se nao tiver fonte , nao faz LOCAL cFontName := iif ( oq:oFont=NIL , "NAOFAZ" ,oq:oFont:cFaceName ) LOCAL lFlagReleaseFont := .F., nAlturaDaFonte, nLarguraDaFonte := 0,; nLarguraDoControle ,nTime:= SECONDS()+3, oFontTmp,ofont if cfontname="NAOFAZ" return nil endif if oq:oFont:nWidth = NIL // *** AAA ***// oq:oFont:nWidth := 0 // *** AAA ***// endif // *** AAA ***// nLarguraDoControle := oq:nWidth nAlturaDaFonte := oq:oFont:nHeight nLarguraDaFonte = nLarguraDaFonte*nf DEFINE FONT oFontTmp; NAME cFontName; SIZE abs(nLarguraDaFonte),ABS(nAlturaDaFonte) oq:SetFont(oFontTmp) oFont := oq:ofont //osay:GetFont() RELEASE FONT oFontTmp If oq:ClassName()$"/TXBROWSE/" for i=1 to len(oq:acols) * pega tamanho anterior X factor ov:=oq:aCols[i]:nWidth * nf * atualiza o novo tamanho da coluna oq:aCols[i]:nWidth := ov next elseif oq:classname$"/TDSAY/" oq:Refresh() elseif oq:ClassName()$"/TWBROWSE/" * atualiza a largura das colunas for i=1 to len(oq:acolsizes) oq:acolsizes[i]:=oq:acolsizes[i]*nf next endif * oq:Refresh() RETURN NIL FUNCTION aja_FLD(oq,nf) LOCAL cFontName := iif ( oq:oFont=NIL , "NAOFAZ" ,oq:oFont:cFaceName ) LOCAL lFlagReleaseFont := .F., nAlturaDaFonte := 0,; nLarguraDaFonte, oFontTmp,ofont if cfontname="NAOFAZ" return nil endif if oq:oFont:nWidth = NIL // *** AAA ***// oq:oFont:nWidth := 0 // *** AAA ***// endif // *** AAA ***// nLarguraDaFonte := oq:oFont:nWidth nAlturadaFonte:=nalturadafonte*nf DEFINE FONT oFontTmp; NAME cFontName; SIZE abs(nLarguraDaFonte),ABS(nAlturaDaFonte) oq:SetFont(oFontTmp) oFont := oq:ofont //osay:GetFont() RELEASE FONT oFontTmp If oq:ClassName()$"/TXBROWSE/" oq:nRowHeight := oq:nRowHeight* nf oq:nStretchcol:=STRETCHCOL_LAST elseif oq:ClassName()$"/TSBROWSE/" oq:nHeightCell:=oq:nHeightCell * nf * oq:nheightHead:=oq:nheightHead*nf * oq:nheightFoot:=oq:nheightFoot*nf endif * oq:Refresh() RETURN NIL Espero que ajude! Abraços Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 9 Report Share Posted April 9 GAYTOLAGEM Rubro Negra!!! kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk Regards, saludos. Quote Link to comment Share on other sites More sharing options...
Ladinilson Posted April 10 Report Share Posted April 10 23 horas atrás, kapiaba disse: GAYTOLAGEM Rubro Negra!!! kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk Regards, saludos. Confessa que tu gostou kkkk Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 21 Report Share Posted April 21 Veja agora, se os modelos by JACK o Estripador, te ajuda: https://forums.fivetechsupport.com/viewtopic.php?f=6&t=44432&p=269535&sid=1eea6dbc4504e4e9f4bd0b7faa3a54a4#p269535 Regards, saludos. Quote Link to comment Share on other sites More sharing options...
oliveiros Posted April 24 Author Report Share Posted April 24 Olá, obrigado pelas respostas. 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.