Nesse vídeo demonstraremos a utilização da classe TMultiGet, que serve para criar um campo (textbox) com a possibilidade de digitar múltiplas linhas (similar a campos memo).
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe499 Cria uma caixa de texto grande para digitação / visualização @type Function @author Atilio @since 04/04/2023 @see https://tdn.totvs.com/display/tec/TMultiGet @obs **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe499() Local aArea := FWGetArea() Local nCorFundo := RGB(238, 238, 238) Local nJanAltura := 154 Local nJanLargur := 318 Local cJanTitulo := 'Exemplo TMultiGet' 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 oMulObj0 Private cMulObj0 := '' //objeto1 Private oBtnObj1 Private cBtnObj1 := 'Confirmar' Private bBtnObj1 := {|| MsgInfo('O texto digitado foi:' + CRLF + CRLF + cMulObj0, 'Atenção')} //Cria a dialog oDialogPvt := TDialog():New(0, 0, nJanAltura, nJanLargur, cJanTitulo, , , , , , nCorFundo, , , lDimPixels) //objeto0 - usando a classe TMultiGet nObjLinha := 7 nObjColun := 6 nObjLargu := 145 nObjAltur := 40 oMulObj0 := TMultiGet():New(nObjLinha, nObjColun, {|u| Iif(PCount() > 0 , cMulObj0 := u, cMulObj0)}, oDialogPvt, nObjLargu, nObjAltur, oFontPadrao, , , , , lDimPixels, , , /*bWhen*/, , , /*lReadOnly*/, /*bValid*/, , , /*lNoBorder*/, .T.) //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é a próxima.