edmandc Posted October 3, 2021 Report Share Posted October 3, 2021 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. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 4, 2021 Report Share Posted October 4, 2021 \samples\testrich.prg Regards, saludos. Quote Link to comment Share on other sites More sharing options...
edmandc Posted October 4, 2021 Author Report Share Posted October 4, 2021 Obrigadão Kapiaba.... sempre rápido e eficiente. Quote Link to comment Share on other sites More sharing options...
edmandc Posted October 4, 2021 Author Report Share Posted October 4, 2021 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! Quote Link to comment Share on other sites More sharing options...
edmandc Posted October 4, 2021 Author Report Share Posted October 4, 2021 Membros 0 19 posts Denunciar post Postado agora 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! Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 4, 2021 Report Share Posted October 4, 2021 // \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. Quote Link to comment Share on other sites More sharing options...
edmandc Posted October 5, 2021 Author Report Share Posted October 5, 2021 Valeu...obrigado Kapiaba. Boa Noite. 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.