Jump to content
Fivewin Brasil

say com fundo transparente


EDUTEK

Recommended Posts

Boa tarde

 

Tenho um dialog que tenho uma imagem de fundo, coloquei uns SAY mas não estou conseguingo deixar eles transparente para mostrar a imagem.

estou usando @ say 

DEFINE ICON   oIco   RESOURCE "CONES"
DEFINE BITMAP oBmp   RESOURCE "PAPEL_TTG" && TTG_VEICULO" && CARGAS"  
DEFINE TIMER oTimer INTERVAL 6000 ACTION {syslog_faturamento_diario_refresh(mPassagem),oDlg:SetFocus(),;
oSay1:refresh(),oSay2:refresh(),oSay3:refresh(),oSay4:refresh(),oSay5:refresh(),oSay6:refresh(),;
oSay7:refresh(),oSay8:nClrText:=cCorBH,oSay8:refresh()} OF oDlg
DEFINE DIALOG  oDlg  OF oMainWnd FONT oBold TITLE ".:: "+m_titulo +" ::." 
     
   oDlg:lHelpIcon    := .F.
   oDlg:nTop         := 1
   oDlg:nLeft        := 10
   oDlg:nBottom      := GetSysMetrics(17) - 1
   oDlg:nRight       := GetSysMetrics(16) - 355
   oDlg:nStyle       := nOR( DS_MODALFRAME, DS_SYSMODAL, WS_POPUP, WS_CAPTION, WS_SYSMENU )   
   mTamDlg           := (oDlg:nWidth()/2)    - 50 &&  (((oDlg:nWidth()) /2 -1)/4) * 3   
   mPosBt            := mTamDlg + 10

   @ 001,01    SAY oSay1 VAR mTextoEmp                     SIZE mtamdlg,40 CENTERED   PIXEL  FONT Arial50B TRANSPARENT ADJUST  OF oDlg
   @ 041,01    SAY oSay2 VAR mTextoDia                     SIZE mtamdlg,40 CENTERED   PIXEL  FONT Arial40B update    transparent adjust    OF oDlg
   @ 081,01    SAY oSay3 VAR mTextoMeta                    SIZE mtamdlg,35 CENTERED   PIXEL  FONT Arial32B update    transparent adjust    OF oDlg
   @ 116,01    SAY oSay4 VAR mValorMeta                    SIZE mtamdlg,40 CENTERED   PIXEL  FONT Arial50B update    transparent adjust    OF oDlg
   @ 161,01    SAY oSay5 VAR mTextoFatura                  SIZE mtamdlg,35 CENTERED   PIXEL  FONT Arial32B update    transparent adjust    OF oDlg
   @ 196,01    SAY oSay6 VAR mValorFatura                  SIZE mtamdlg,40 CENTERED   PIXEL  FONT Arial50B update    transparent adjust    OF oDlg
   @ 241,01    SAY oSay7 VAR mTextoSaldo                   SIZE mtamdlg,40 CENTERED   PIXEL  FONT Arial28B update   TRANSPARENT   OF oDlg
   @ 281,01    SAY oSay8 VAR mValorSaldo                   SIZE mtamdlg,40 CENTERED  PIXEL  FONT Arial50B update    TRANSPARENT   OF oDlg    
   oSay1:nClrText := cCorBH
   oSay8:nClrText := cCorBH   
   oSay1:Refresh()      
   oSay8:Refresh()   
   @ 281,mPosbt  BTNBMP  OF oDlg PROMPT ""       TOOLTIP "SAIR"                         RESOURCE "excluir"         2007 ACTION {oDLG:END()}                                   SIZE 20, 20 PIXEL FONT oFont3   
   
ACTIVATE DIALOG oDlg CENTERED ON INIT (odlg:SetFocus(), oTimer:activate()) VALID(oDlg:End(), oTimer:Deactivate(), .t.) ON PAINT FBmpTiled( hDC, oDlg, oBmpTiled, oBmp )  
dbcloseall()
Release All 
RETURN nil 

 

como faço para resolver isso.

 

Link to comment
Share on other sites

  • 11 months later...
  • 3 months later...

DEFINE DIALOG  oDlg  OF oMainWnd FONT oBold TITLE ".:: "+m_titulo +" ::." 
     
   oDlg:lHelpIcon    := .F.
   oDlg:nTop         := 1
   oDlg:nLeft        := 10
   oDlg:nBottom      := GetSysMetrics(17) - 1
   oDlg:nRight       := GetSysMetrics(16) - 155
   oDlg:nStyle       := nOR( DS_MODALFRAME, DS_SYSMODAL, WS_POPUP, WS_CAPTION, WS_SYSMENU )   
   mTamDlg           := (oDlg:nWidth()/2)    - 50 &&  (((oDlg:nWidth()) /2 -1)/4) * 3   
   mPosBt            := mTamDlg + 10
   oDlg:lTransparent := .t.    

   @ 001,01    SAY oSay1 VAR mTextoEmp                     SIZE mtamdlg,40 CENTERED   PIXEL  FONT Arial50B update    transparent adjust    OF oDlg
   @ 041,01    SAY oSay2 VAR mTextoDia                     SIZE mtamdlg,40 CENTERED   PIXEL  FONT Arial40B update    transparent adjust    OF oDlg
   @ 081,01    SAY oSay3 VAR mTextoMeta                    SIZE mtamdlg,35 CENTERED   PIXEL  FONT Arial32B update    transparent adjust    OF oDlg
   @ 116,01    SAY oSay4 VAR mValorMeta                    SIZE mtamdlg,40 CENTERED   PIXEL  FONT Arial50B update    transparent adjust    OF oDlg
   @ 161,01    SAY oSay5 VAR mTextoFatura                  SIZE mtamdlg,35 CENTERED   PIXEL  FONT Arial32B update    transparent adjust    OF oDlg
   @ 196,01    SAY oSay6 VAR mValorFatura                  SIZE mtamdlg,40 CENTERED   PIXEL  FONT Arial50B update    transparent adjust    OF oDlg
   @ 241,01    SAY oSay7 VAR mTextoSaldo                   SIZE mtamdlg,40 CENTERED   PIXEL  FONT Arial28B update    TRANSPARENT adjust    OF oDlg
   @ 281,01    SAY oSay8 VAR mValorSaldo                   SIZE mtamdlg,40 CENTERED   PIXEL  FONT Arial50B update    TRANSPARENT adjust    OF oDlg    
   oSay1:nClrText := cCorTH
   oSay2:nClrText := cCorYH
   oSay3:nClrText := cCorYH      
   oSay4:nClrText := cCorYH   
   oSay5:nClrText := cCorYH
   oSay6:nClrText := cCorYH
   oSay7:nClrText := cCorYH
   oSay8:nClrText := cCorBH   
   oSay1:Refresh()      
   oSay2:Refresh()      
   oSay3:Refresh()      
   oSay4:Refresh()      
   oSay5:Refresh()      
   oSay6:Refresh()      
   oSay7:Refresh()                   
   oSay8:Refresh()   
   oDlg:lTransparent := .t.   
   @ 281,mPosbt  BTNBMP  OF oDlg PROMPT ""       TOOLTIP "SAIR"                         RESOURCE "excluir"         2007 ACTION {oDLG:END()}                                   SIZE 20, 20 PIXEL FONT oFont3   
   
ACTIVATE DIALOG oDlg CENTERED ON INIT (odlg:SetFocus(), oDlg:lTransparent:=.t., oTimer:activate()) VALID(oDlg:End(), oTimer:Deactivate(), .t.) ON PAINT FBmpTiled( hDC, oDlg, oBmpTiled, oBmp )  
dbcloseall()
Release All 
RETURN nil 
****assim

Link to comment
Share on other sites

  • 1 year later...

bom dia edu, eu estoun tentando usar o transparent adjust no meu say e nao compila

@ t_lin+(sal_lin*4.0),t_col+(sal_col*0.0) say osay_t5[ind_rec] VAR  &te_mostra of dl_recep pixel size sal_col*9,sal_lin*1.5 font memvar->rec_for10 color CLR_BLACK transparent adjust

da erro na compilacao, sabe me dizer o que estou fazendo errado?

 

 

Link to comment
Share on other sites

Dando uma olhada no pessoal que teve este mesmo problema eu fiz esta alteracao:

@ t_lin+(sal_lin*4.0),t_col+(sal_col*0.0) say osay_t5[ind_rec] VAR  &te_mostra of dl_recep pixel size sal_col*9,sal_lin*1.5 font memvar->rec_for10 color CLR_BLACK

osay_t5[ind_rec]:ltransparent:=.t.

Nao deu erro na compilacao, porem nao ficou transparente, alguem pode me ajudar? (onde estou errando?)

 

 

Link to comment
Share on other sites

1 hora atrás, MAMP2 disse:

Dando uma olhada no pessoal que teve este mesmo problema eu fiz esta alteracao:

@ t_lin+(sal_lin*4.0),t_col+(sal_col*0.0) say osay_t5[ind_rec] VAR  &te_mostra of dl_recep pixel size sal_col*9,sal_lin*1.5 font memvar->rec_for10 color CLR_BLACK

osay_t5[ind_rec]:ltransparent:=.t.

Nao deu erro na compilacao, porem nao ficou transparente, alguem pode me ajudar? (onde estou errando?)

 

 

Dialog tmb esta como Transparent ?  oDlg:lTransparent := .T.

Link to comment
Share on other sites

Até onde sei teria que colocar um timer, no init da dialog e ir trocando de cor com um certo intervalo

Exemplo    (letras Fundo branco letras pretas,   no outro tempo fundo vermelho letras brancas)
 

Só sei fazer com um timer, se tiver alguma coisa diferente seria otimo

 

Link to comment
Share on other sites

Acho que seria algo mais ou menos assim qoe que voce deseja

Se não conseguir me chame no zap 32-9 8892-5094 Que te ajudo

  
Cria-se uma variavel tipo assim 
T_CONTROLE_COR_TXT  := '1'

   
no  ACTIVATE DIALOG

ACTIVATE DIALOG oDlg_PDV_RECEBER_CONTA ON INIT CRIAR_TIMER_RECEBER_CONTAS()  

*===============================================================================
* Ciar um Timer para Ativar a Troca da Cor das Letras
*===============================================================================
Function CRIAR_TIMER_RECEBER_CONTAS()
    Define timer oTimer interval 1000 action Trocar_Cor_letra() of oDlg_PDV_RECEBER_CONTA
return .T.
*===============================================================================
* Aqui fará a Troca de Cor da letra
*===============================================================================
Function Trocar_Cor_letra()
        IF T_CONTROLE_COR_TXT = '1'
            T_CONTROLE_COR_TXT := '2'
            oT_NOME_RECEBER:SetColor(Rgb(255,0,0),Rgb(191,239,255))    
        ELSE
            T_CONTROLE_COR_TXT:= '1'
            oT_NOME_RECEBER:SetColor(Rgb(191,239,255),Rgb(255,0,0))    
        ENDIF    
    
    oT_NOME_RECEBER      :Refresh()
return

 

 

 

 

Link to comment
Share on other sites

Em 17/07/2022 at 05:37, MAMP2 disse:

mas ai eu troco a dor da dialog toda, eu quero de apenas um campo que esta em uma situacao que eu quero que so aqueloe campo pisque,

é possivel?

 

 

Use DSAY.PRG y DSAY.CH meu caro. Excelente.  abs. Regards, saludos.

Link to comment
Share on other sites

Em 17/07/2022 at 17:53, marcioe disse:

Olá se você olhar, apenas o campo do nome que é trocado a cor

ok, entendido, agora tem como colocar um texto sobre o bitmap, cada bitmat é um tipo de coisa e cada tipo de coisa tem um nome

como coloco o nome no topo do bmp, existe como fazer isto?

 

 

Link to comment
Share on other sites

bom dia marcio o botao é este

@ linha,coluna BTNBMP oBut_001 file &te_bmp11 left pixel font memvar->rec_ped ;
        of memvar->dl_recep size te_horiz*2.2,te_verti*3.5 action gru_001()

e o texto que quero em cima do botao é este

@ sal_lin*01,sal_col*02 stsay memvar->te_tp_01 of memvar->dl_recep pixel size 850,150 font memvar->rec_vai3 color CLR_BLACK

a tela é a mesma (dl-recep) o texto aparece mas na tela, quando passo  mouse em cima do botao o texto some, quero o texto em cima do botao

pra quando eu pasasar o mouse em cima do botao o texto nao sumir

 

 

 

 

 

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