Jump to content
Fivewin Brasil

como modificar atributos e cores em um texto num objeto???


edmandc

Recommended Posts

Existiria uma forma de apresentar textos em objetos "say" e outros com diversas cores e atributos no mesmo texto.

Vide exemplo abaixo:

 

Lorem ipsum dolor sit amet. Et sint culpa ut sapiente ipsa et eius explicabo. Quo labore voluptas ut totam expedita et corporis illo sed corrupti commodi ea vitae quas. Qui voluptates molestiae ut repellat voluptas et sapiente voluptas in consequatur velit aut facilis rerum et obcaecati repudiandae qui modi minus. Ea dicta fuga et doloribus minus et obcaecati odit id suscipit laborum et ipsam soluta.

 

Link to comment
Share on other sites

Oi Kapiaba verifiquei sua sugestão mas não é bem isto que procuro.

no meu caso tenho um objeto Say que serve para explicar a função de cada botão ou get num quadro negro.

é este texto que gostaria de destacar partes dele com cores diferentes. 

Segue o codigo e a imagem.

 

priva os_msg         //  obj say quadro de mensagens
priva cmensagem := ''  // conteudo da mensagem


// Quadro das mensagens
redefine say os_msg prompt cmensagem id 1000 of odlg color rgb(0,255,255),cor_pret font ofntbold

redefine get oget of odlg

oget:bgotfocus  := {|| cmensagem := 'Informe os dados ou  qq coisa aqui ! ',  oquadromsg:refresh() }

oget:blostfocus := {|| cmensagem :='', oquadromsg:refresh() }

 

o que eu gostaria de obter no texto no quadro de mensagens é o trecho "F2" da mensagem em vermelho!

 

text.png

Link to comment
Share on other sites

  • Membros
  •  0
  • 19 posts

Oi Kapiaba verifiquei sua sugestão mas não é bem isto que procuro.

no meu caso tenho um objeto Say que serve para explicar a função de cada botão ou get num quadro negro.

é este texto que gostaria de destacar partes dele com cores diferentes. 

Segue o codigo e a imagem.

 

priva os_msg         //  obj say quadro de mensagens
priva cmensagem := ''  // conteudo da mensagem


// Quadro das mensagens
redefine say os_msg prompt cmensagem id 1000 of odlg color rgb(0,255,255),cor_pret font ofntbold

redefine get oget of odlg

oget:bgotfocus  := {|| cmensagem := 'Informe o nome do cliente ou tecle F2 ou clique no botão ao lado para obte-lo do cadastro de clientes! ',  oquadromsg:refresh() }

oget:blostfocus := {|| cmensagem :='', oquadromsg:refresh() }

 

o que eu gostaria de obter no texto no quadro de mensagens é o trecho "F2" da mensagem em vermelho!

 

text.png

Link to comment
Share on other sites

// \samples\CORSAY.PRG - 04/10/2021 - kapiabafwh@gmail.com
	#Include "FiveWin.ch"
	FUNCTION SayColors()
	   local oDlg, oFont, oFontBold, oBold, oSay, oSay1, oSay2, oSay3, oSayFin
   local nValue   := 2000
	   oSay1 := "SAY de uma Cor  "
   oSay2 := "SAY de outra Cor"
   oSay3 := "SAY de Nada Não. "
	   DEFINE FONT oFont     NAME "TAHOMA"  SIZE 0, -12
   DEFINE FONT oFontBold NAME "TAHOMA"  SIZE 0, -14 BOLD
   DEFINE FONT oBold     NAME "VERDANA" SIZE 0, -32 BOLD
	   DEFINE DIALOG oDlg SIZE 400, 250 PIXEL TRUEPIXEL FONT oFont ;
      TITLE FWVERSION
	   @ 150,  50 SAY oSay1 PICTURE "@K" SIZE 100, 16 PIXEL OF oDlg FONT oFontBold ;
      UPDATE COLORS CLR_CYAN, CLR_WHITE
	   @ 150, 150 SAY oSay2 PICTURE "@K" SIZE 100, 16 PIXEL OF oDlg FONT oFontBold ;
      UPDATE COLORS CLR_HRED, CLR_WHITE
	   @ 150, 252 SAY oSay3 PICTURE "@K" SIZE 120, 16 PIXEL OF oDlg FONT oFontBold ;
      UPDATE COLORS CLR_MAGENTA, CLR_WHITE
	   @ 20,100 SAY oSay PROMPT nValue PICTURE "9999" ;
      SIZE 200,36 PIXEL OF oDlg FONT oBold CENTER ;
      COLOR SayClr( nValue ), CLR_WHITE UPDATE
	   @ 80, 20 BUTTON   "50" SIZE 100,30 PIXEL OF oDlg ;
      ACTION ( nValue :=   50, oSay:SetColor( SayClr( nValue ), CLR_WHITE ), oDlg:Update() )
	   @ 80,150 BUTTON  "500" SIZE 100,30 PIXEL OF oDlg ;
      ACTION ( nValue :=  500, oSay:SetColor( SayClr( nValue ), CLR_WHITE ), oDlg:Update() )
	   @ 80,280 BUTTON "5000" SIZE 100,30 PIXEL OF oDlg ;
      ACTION ( nValue := 5000, oSay:SetColor( SayClr( nValue ), CLR_WHITE ), oDlg:Update() )
	   ACTIVATE DIALOG oDlg CENTERED
	   RELEASE FONT oFont, oBold
	RETURN NIL
	static function SayClr( n )
return If( n <= 100, CLR_BLUE, If( n <= 1000, CLR_GREEN, CLR_HRED ) )

Regards, saludos.

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