Nesse vídeo demonstraremos a utilização da classe TSimpleEditor, que serve para criar um editor em tela, que aceita também HTML.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function zExe509
Cria uma caixa de texto grande para digitação / visualização (com algumas opções como exibir em html)
@type Function
@author Atilio
@since 04/04/2023
@see https://tdn.totvs.com/display/tec/TSimpleEditor
@obs
**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/
User Function zExe509()
Local aArea := FWGetArea()
Local nCorFundo := RGB(238, 238, 238)
Local nJanAltura := 154
Local nJanLargur := 318
Local cJanTitulo := 'Exemplo TSimpleEditor'
Local lDimPixels := .T.
Local lCentraliz := .T.
Local nObjLinha := 0
Local nObjColun := 0
Local nObjLargu := 0
Local nObjAltur := 0
Private cFontNome := 'Tahoma'
Private oFontPadrao := TFont():New(cFontNome, , -12)
Private oDialogPvt
Private bBlocoIni := {|| /*fSuaFuncao()*/ } //Aqui voce pode acionar funcoes customizadas que irao ser acionadas ao abrir a dialog
//objeto0
Private oSimpEdit
Private cSimpEdit := ''
//objeto1
Private oBtnObj1
Private cBtnObj1 := 'Confirmar'
Private bBtnObj1 := {|| MsgInfo('O texto digitado foi:' + CRLF + CRLF + oSimpEdit:RetText(), 'Atenção')}
//Cria a dialog
oDialogPvt := TDialog():New(0, 0, nJanAltura, nJanLargur, cJanTitulo, , , , , , nCorFundo, , , lDimPixels)
//Monta o texto que será exibido
cSimpEdit := '<p>Olá.</p>' + CRLF
cSimpEdit += '<p>Esse é um exemplo de <strong>mensagem em HTML</strong>.</p>' + CRLF
cSimpEdit += '<p>Note que as <font color="red">tags foram interpretadas</font>.</p>' + CRLF
//objeto0 - usando a classe TSimpleEditor
nObjLinha := 7
nObjColun := 6
nObjLargu := 145
nObjAltur := 40
oPanelEdit := tPanel():New(nObjLinha, nObjColun, "", oDialogPvt, , , , RGB(000,000,000), RGB(254,254,254), nObjLargu, nObjAltur)
oSimpEdit := TSimpleEditor():Create(oPanelEdit)
oSimpEdit:lAutoIndent := .T.
oSimpEdit:nWidth := oPanelEdit:nWidth
oSimpEdit:nHeight := oPanelEdit:nHeight
oSimpEdit:TextFormat(1) //1=Html; 2=Plain Text
oSimpEdit:TextSize(11)
oSimpEdit:Load(cSimpEdit)
oSimpEdit:Refresh()
//objeto1 - usando a classe TButton
nObjLinha := 54
nObjColun := 6
nObjLargu := 75
nObjAltur := 15
oBtnObj1 := TButton():New(nObjLinha, nObjColun, cBtnObj1, oDialogPvt, bBtnObj1, nObjLargu, nObjAltur, , oFontPadrao, , lDimPixels)
//Ativa e exibe a janela
oDialogPvt:Activate(, , , lCentraliz, , , bBlocoIni)
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até próxima.
Muito bom o seu vídeo, gostei bastante, assim como os outros conteúdos do site.
Estou desenvolvendo uma rotina que inclui componentes que aceitam CSS. Na documentação da TDN, observei que existem várias classes que herdam da classe TControl. Isso me levantou algumas dúvidas: todas as classes aceitam personalização com CSS? Existe alguma documentação oficial que mostra o relacionamento entre os componentes do QT e os componentes em TL++? Quais versões são aceitas? Quais atributos não funcionam no Protheus?
Curto muito o seu trabalho!.
Bom dia Kauan, tudo joia?
Primeiramente obrigado pelo elogio, é muita bondade e generosidade sua.
Da documentação no TDN, tem uma com uma lista relacionando as classes do Protheus com QT (ver link do passo c abaixo).
A forma que fiz para encontrar foi a seguinte:
a. Instalei a extensão de navegador Pesquisa Rápida TDN – https://atiliosistemas.com/portfolio/pesquisa-rapida-tdn/
b. Ao usar a extensão, pesquisei apenas por “SetCSS”
c. Foi o segundo link da lista exibida, que é esse aqui – https://tdn.totvs.com/display/tec/SetCSS
Espero ter ajudado.
Um grande abraço.