Nesse vídeo demonstraremos a utilização da função TKeyboard, que serve para criar um teclado virtual em uma tela.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe495 Cria um teclado virtual em uma Dialog @type Function @author Atilio @since 04/04/2023 @obs **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe495() Local aArea := FWGetArea() Local nCorFundo := RGB(238, 238, 238) Local nJanAltura := 251 Local nJanLargur := 470 Local cJanTitulo := 'Exemplo TKeyboard' Local lDimPixels := .T. Local lCentraliz := .T. Local nObjLinha := 0 Local nObjColun := 0 Local nObjLargu := 0 Local nObjAltur := 0 Local nTamanText := 50 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 Private oGetTeste Private xGetTeste := Space(nTamanText) Private oKey //Cria a dialog oDialogPvt := TDialog():New(0, 0, nJanAltura, nJanLargur, cJanTitulo, , , , , , nCorFundo, , , lDimPixels) //objeto1 - usando a classe TGet nObjLinha := 3 nObjColun := 3 nObjLargu := (nJanLargur/2) - 6 nObjAltur := 10 oGetTeste := TGet():New(nObjLinha, nObjColun, {|u| Iif(PCount() > 0 , xGetTeste := u, xGetTeste)}, oDialogPvt, nObjLargu, nObjAltur, /*cPict*/, /*bValid*/, /*nClrFore*/, /*nClrBack*/, oFontPadrao, , , lDimPixels) //Definindo que quando o get for clicado, será vinculado ao teclado virtual oGetTeste:bGotFocus := {|| oKey:SetVars(oGetTeste, nTamanText)} //Criando o teclado virtual nObjLinha := 19 nObjColun := 3 oKey := TKeyboard():New( nObjLinha, nObjColun, 2, oDialogPvt) //Definindo que ficará vinculado ao get criado anteriomente oKey:SetVars(oGetTeste, nTamanText) //Definindo uma ação ao clicar no -Enter- oKey:SetEnter({|| FWAlertInfo( oKey:GetContext(), "Teste TKeyboard")}) //Ativa e exibe a janela oDialogPvt:Activate(, , , lCentraliz, , , bBlocoIni) FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.