Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
Descrição:
Classe responsável por criar um teclado virtual alfanumérico ou numérico.
Métodos:
• New() •
Descrição:
Método de construção do objeto TKeyBoard
Sintaxe:
TKeyboard():New( nTop, nLeft, nType, oDlg, cSource, lLogin ) →
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
nTop | Numérico | Tamanho em relação ao topo do objeto | |
nLeft | Numérico | Tamanho em relação a esquerda do objeto | |
nType | Numérico | Tipo do teclado (1 - Numérico | 2 - AlfaNumérico) | |
oDlg | Objeto | Objeto que será montado o teclado | |
cSource | Caracter | Nome que será somado ao png utilizado as teclas para apresentação dos botões (cSource + "key1.png") | |
lLogin | Lógico | Compatibilidade |
Exemplo
oKey := TKeyboard():New( 050, 10, 2, oDlg )
• KeyNumber() •
Descrição
Método de atribuição das teclas do teclado tipo numérico
Sintaxe
TKeyboard():KeyNumber( ) →
Exemplo
oKey:KeyNumber()
• KeyAlfaNumber() •
Descrição
Método de atribuição das teclas do teclado tipo alfanumérico
Sintaxe
TKeyboard():KeyAlfaNumber( ) →
Exemplo
oKey:KeyAlfaNumber()
• AddKey() •
Descrição
Método de adição de uma tecla ao objeto
Sintaxe
TKeyboard():AddKey( cKey, nTop, nLeft, nWidth, nHeight ) →
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
cKey | Caracter | Tecla que será adicionada (será utilizado na pesquisa do resource png (cSource+"key"+cKey+".PNG")) | |
nTop | Numérico | Posição em relação ao topo do objeto | |
nLeft | Numérico | Posição em relação a esquerda do objeto | |
nWidth | Numérico | Indica a largura em pontos do objeto | |
nHeight | Numérico | Indica a altura em pontos do objeto |
Exemplo
oKey:AddKey( "1", 0, 20, 5, 5 )
• SetEnter() •
Descrição
Método de atribuição de ação ao botão Enter
Sintaxe
TKeyboard():SetEnter( uEnterAct ) →
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
uEnterAct | Ação que será atribuída ao botão Enter |
Exemplo
oKey:SetEnter( { || MsgInfo( oKey:GetContext(), "Conteúdo do GET posicionado" ) } )
• SetVars() •
Descrição
Método de atribuição do objeto que sofrerá ação do teclado
Sintaxe
TKeyboard():SetVars( oObject, nSize ) →
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
oObject | Objeto | Objeto que será utilizado para receber ação do teclado | |
nSize | Numérico | Tamanho máximo de caracteres que será atribuído (válido somente para tipo de teclado numérico) |
Exemplo
oKey:SetVars( oGet1, 10 )
• Click() •
Descrição
Método de execução do click no teclado
Sintaxe
TKeyboard():Click( cKey, nKey ) →
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
cKey | Caracter | Tecla acionada através do teclado | |
nKey | Numérico | Número relacionado a tecla (válido somente para tipo AlfaNumérico) |
Exemplo
oKey:Click( "key1", 1 )
• GetContext() •
Descrição
Método de que retorna o conteúdo do texto do objeto setado
Sintaxe
TKeyboard():GetContext( ) →
Exemplo
oKey:GetContext()
Exemplo geral de uso da classe
Bloco de código |
---|
#include "protheus.ch"
//--------------------------------------------------------
/*/{Protheus.doc} pocTKeyBoard
Exemplo de utilização da classe TKeyBoard
@author framework
@version 1.0
/*/
//--------------------------------------------------------
User Function pocTKeyBoard()
// -------------------------------------------------
// Declaração das variáveis que serão utilizadas
// -------------------------------------------------
Local cGet1 := " "
Local cGet2 := " "
Local cGet3 := " "
Local oDlg := Nil
Local oGet1 := Nil
Local oGet2 := Nil
Local oGet3 := Nil
Local oSay1 := Nil
Local oSay2 := Nil
Local oSay3 := Nil
Local oKey := Nil
Local lHasButton := .T.
// -------------------------------------
// Fonte que será usada no objeto say
// -------------------------------------
oFont := TFont():New('Arial',,-14,.T.)
// ------------------------------------------
// Dialogo principal utilizada pelo teclado
// ------------------------------------------
oDlg := TDialog():New( 180, 180, 550, 700, 'Exemplo TKeyBoard',,,,,,,,,.T. )
// -----------------------------------
// Criação do primeiro SAY e GET
// -----------------------------------
oSay1 := TSay():New (006,011,{||'Get 01'},oDlg,,oFont,,,,.T.,,,200,20 )
oGet1 := TGet():New( 015, 009, { | u | If( PCount() == 0, cGet1, cGet1 := u ) },oDlg, 070, 010, "!@",, 0, 16777215,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F. ,,"cGet1",,,,lHasButton )
// --------------------------------------------------------
// Atribuição do objeto quando o foco for recebido no GET
// --------------------------------------------------------
oGet1:bGotFocus := {|| oKey:SetVars( oGet1, 10 )}
// -----------------------------------
// Criação do segundo SAY e GET
// -----------------------------------
oSay2 := TSay():New( 006,97,{||'Get 02'},oDlg,,oFont,,,,.T.,,,200,20 )
oGet2 := TGet():New( 015, 95, { | u | If( PCount() == 0, cGet2, cGet2 := u ) },oDlg, 070, 010, "!@",, 0, 16777215,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F. ,,"cGet2",,,,lHasButton )
// --------------------------------------------------------
// Atribuição do objeto quando o foco for recebido no GET
// --------------------------------------------------------
oGet2:bGotFocus := {|| oKey:SetVars( oGet2, 6 )}
// -----------------------------------
// Criação do terceiro SAY e GET
// -----------------------------------
oSay3 := TSay():New( 006,182,{||'Get 03'},oDlg,,oFont,,,,.T.,,,200,20 )
oGet3 := TGet():New( 015, 180, { | u | If( PCount() == 0, cGet3, cGet3 := u ) },oDlg, 070, 010, "!@",, 0, 16777215,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F. ,,"cGet3",,,,lHasButton )
// -------------------------------------------------------
// Atribuição do objeto quando o foco for recebido no GET
// -------------------------------------------------------
oGet3:bGotFocus := {|| oKey:SetVars( oGet3, 6 )}
// ---------------------------------------
// Criação do objeto do teclado virtual
// ---------------------------------------
oKey := TKeyboard():New( 050, 10, 2, oDlg )
// ----------------------------------------------------------------------
// Informo o objeto que será utilizado pelo teclado na abertura da tela
// ----------------------------------------------------------------------
oKey:SetVars( oGet1, 10 )
// -----------------------------------
// Atribuo ação do ENTER no teclado
// -----------------------------------
oKey:SetEnter( { || MsgInfo( oKey:GetContext(), "Conteúdo do GET posicionado" ) } )
// -------------------------------
// Ativação do objeto de dialogo
// -------------------------------
oDlg:Activate( ,,,.T. )
Return |
Templatedocumentos |
---|
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |
Informações |
---|
No Protheus 12, a classe está funcional somente a partir da LIB versão 20180820. |