O SDK3 utiliza o conceito de orientação a objetos nos componentes visuais e todos os componentes visuais são objetos do tipo “controle” (herança, em orientação a objetos).
Isto significa que todos os componentes e tags visuais de arquivo LFM (edit, label, button, layout, etc..) possuem as características, propriedades e métodos descritos nesta seção.
Propriedade |
Tipo |
Valor Padrão |
Descrição |
visible |
Boolean |
true |
Define se o controle está visível ou invisível. Um controle pode existir invisível e ser exibido quando alguma condição ou ocasião acontecer. |
enabled |
Boolean |
true |
Define se o controle está ativo ou não. Um controle inativo é exibido na interface, mas não é possível interagir com ele, como se tivesse bloqueado. |
name |
String |
<string vazio> |
Define um nome para o controle. O nome deve ser único, isto é, dentro de um form, não é possível existir 2 controles com o mesmo nome. Se não for definido um nome para o controle no arquivo LFM, um nome único será gerado para ele em tempo de compilação. Nomear controles é especialmente útil quando se quer trabalhar com códigos LUA. |
align |
Enumerado:
|
“none” |
Define o alinhamento visual do controle na interface. Com esta propriedade é possível definir um comportamento padrão de posicionamento e tamanho para os controles. none – O controle não sofrerá nenhum tipo de posicionamento e redimensionamento automático. top – O controle será posicionado no topo de seu pai e a largura será calculada para preencher o espaço. Os valores de left, top e width são calculados automaticamente, mas é possível definir a altura (height). left – O controle será posicionado à esquerda de seu pai e a altura será calculada para preencher o espaço. Os valores de “left”, “top” e “height” são calculados automaticamente, mas é possível definir a largura (width). bottom - O controle será posicionado no rodapé de seu pai e a largura é calculada para preencher o espaço. Os valores de left, top e width são calculados automaticamente, mas é possível definir a altura (height). right – O controle será posicionado à direita de seu pai e a altura será calculada para preencher o espaço. Os valores de “left”, “top” e “height” são calculados automaticamente, mas é possível definir a largura (width). client – O controle será posicionado de forma que ocupe toda a área de seu pai. Os valores de left, top, width e height são automaticamente calculados. |
left |
Float |
0.0 |
Define a posição X do controle. A posição é relativa a seu pai. Veja Posição e Tamanho dos Controles. |
top |
Float |
0.0 |
Define a posição Y do controle. A posição é relativa a seu pai. Veja Posição e Tamanho dos Controles. |
width |
Float |
Depende do controle |
Define a largura do controle. Veja Posição e Tamanho dos Controles. |
height |
Float |
Depende do controle |
Define a altura do controle. Veja Posição e Tamanho dos Controles. |
margins |
Bounds (Objeto Lua) |
{} |
Define o tamanho das margens do controle, isto é, o tamanho da “borda invisível” que existe ao redor do controle que o separa do outros. Especialmente útil quando se usa a propriedade “align”. O valor desta propriedade é uma tabela lua com os campos “left”, “right”, “top” e “bottom”, onde a omissão de algum campo representa o valor 0.0. Exemplos de valores:
|
padding |
Bounds (Objeto Lua) |
{} |
Define o tamanho do preenchimento do controle, isto é, o tamanho da “borda invisível” que existe no interior do controle entre sua periferia e seu conteúdo. O valor desta propriedade é uma tabela lua com os campos “left”, “right”, “top” e “bottom”, onde a omissão de algum campo representa o valor 0.0. |
anchors |
Conjunto de:
|
“left top” |
Define como o controle é ancorado em seu pai. Quando o pai do controle é redimensionado, o controle mantém sua posição relativa baseado em sua âncora.
O comportamento das âncoras “top” e “bottom” é o mesmo das âncoras “left” e “right”, porém agora no eixo Y. |
hitTest |
Boolean |
Depende do controle |
Define se o clique e movimento do mouse e o touch são capturados por este controle. |
Enumerado:
|
"default" |
Define qual cursor de mouse deve ser apresentado quando o mouse estiver em em cima do controle. OBS: hitTest deve ser "true" para esta propriedade ter efeito.
|
|
String |
"" |
Define um texto de ajuda que é exibido quando o usuário deixar o mouse por um certo tempo em cima do controle. Esta propriedade só tem efeito se o atributo "hitTest" do controle for true. |
|
canFocus |
Boolean |
Depende do controle |
Define se o controle pode receber o foco do teclado. |
tabOrder |
Integer |
<automático> |
Define um número que representa a ordem de tabulação do controle, isto é, quando o usuário apertar TAB no teclado para pular para o próximo controle de edição. |
opacity |
Float |
1.0 |
Define a transparência do controle. É um número real que varia de 0.0 a 1.0, onde:
|
rotationAngle |
Float |
0.0 |
Define o ângulo de rotação do controle. O ângulo é medido em graus. |
rotationCenterX |
Float |
<centro X do controle> |
Define o valor X da coordenada (X, Y) do pivô de rotação do controle. Usado em conjunto com “rotationAngle” |
rotationCenterY |
Float |
<centro Y do controle> |
Define o valor Y da coordenada (X, Y) do pivô de rotação do controle. Usado em conjunto com “rotationAngle” |
scaleX |
Float |
1.0 |
Define o fator de escala que deve ser aplicado à largura do controle. |
scaleY |
Float |
1.0 |
Define o fator de escala que deve ser aplicado à altura do controle. |
scale |
Float |
1.0 |
Define o fator de escala que deve ser aplicado à largura e altura do controle. |
parent |
Um objeto |
nil |
Define ou retorna o objeto parent deste controle. Não há necessidade de utilizar este atributo em tags de arquivos ".lfm", pois o parent de cada tag já é setada automaticamente conforme seu aninhamento. Veja também: |
É possível invocar métodos dos controles usando código LUA.
Método |
Descrição |
|
controle:destroy(); |
Destrói o controle, liberando a memória usada por ele. Após a chamada “destroy”, não é mais possível utilizar o controle. Normalmente você não precisa se preocupar em destruir os controles, pois isto é feito automaticamente. |
|
controle:setFocus(); |
Coloca o foco do teclado neste controle. |
|
controle:beginUpdate(); |
Coloca o controle num estado de “em alteração”. Neste estado, as alterações feitas nas propriedades não serão apresentadas na interface. É útil quando se pretende alterar várias propriedades ou várias vezes, pois o processo fica mais rápido, já que as mudanças não serão apresentadas na tela de imediato. Para cada chamada de “beginUpdate”, deve haver uma chamada de “endUpdate”. |
|
controle:endUpdate(); |
Tira o controle do estado “em alteração”, voltando a seu comportamento normal. Para cada chamada de “beginUpdate”, deve haver uma chamada de “endUpdate”. |
|
controle:needRepaint(); |
Sinaliza o SDK3 que o controle precisa ser redesenhado na tela. Normalmente você não precisa se preocupar em chamar este método! |
|
controle:getChildren(); |
Retorna um array (tabela lua com chaves de 1 a QUANTIDADE) contendo os controles que são filhos destes controles. Exemplo:
|
|
controle:getParent(); |
Retorna o controle pai deste controle ou nil se não houver. |
|
controle:setParent(parent); |
Define o controle pai deste controle. Parâmetros:
|
|
controle:isChildFocused(); |
Retorna um boolean (true ou false) indicando se este controle ou algum dos controles filhos está com o foco do teclado. |
|
controle:isFocused(); |
Retorna um boolean (true ou false) indicando se este controle está com o foco do teclado. |
|
controle:isMouseOver(); |
Retorna um boolean (true ou false) indicando se o mouse está por cima do controle (não necessariamenteclicado). |
|
controle:isVisible(); |
Retorna um boolean (true ou false) indicando se o controle está visível. |
|
controle:findControlByName( controlName); |
Procura outro controle através do nome passado pelo parâmetro “controlName” em toda a hierarquia de controles onde este está. Retorna o controle ou nil caso não encontre. |
|
controle:getClassName(); |
Retorna o nome da classe/tipo da tag deste controle. |
Nome do evento |
Descrição |
onClick |
Este evento é invocado quando ocorre um click com o botão esquerdo do mouse no controle, ou quando ocorre um “tap touch” no controle. Parâmetros:
|
onDblClick |
Este evento é invocado quando ocorre um clique duplo com o mouse no controle. Parâmetros:
|
onMouseDown |
Este evento é invocado quando um botão do mouse é pressionado sobre o controle ou quando o dedo toca a tela (touchscreen). Parâmetros:
Observações:
|
onMouseMove |
Este evento é invocado quando o mouse se movimenta pelo controle ou quando o dedo (touchscreen) é arrastado. Parâmetros:
Observações:
|
onMouseUp |
Este evento é invocado quando um botão do mouse é liberado sobre o controle ou quando o dedo solta da tela (touchscreen). Parâmetros:
Observações:
|
onMouseEnter |
Este evento é invocado quando o mouse entra na área do controle. Observações:
|
onMouseLeave |
Este evento é invocado quando o mouse sai da área do controle. Observações:
|
onResize |
Este evento é invocado quando o controle é redimensionado |
onEnter |
Este evento é invocado quando o controle recebe o foco do teclado |
onExit |
Este evento é invocado quando o controle perde o foco do teclado. |
Este evento é invocado quando uma tecla (teclado) é pressionada. Parâmetros:
Observações:
|
|
Este evento é invocado quando uma tecla (teclado) é liberada. Parâmetros:
|
|
Este evento é invocado quando o usuário deseja exibir o Menu do controle. Pode ser que o usuário clicou com botão direito do mouse, pressionou a tecla menu ou segurou por um longo tempo o dedo na tela (LongTouch). Parâmetros:
|
|
Evento que é chamado quando o usuário deseja iniciar o processo de arrastar-e-soltar informações partindo deste controle e você deseja informar quais ações ou dados existem em um determinado ponto do controle. Parâmetros:
Por favor, consulte Arrastando-e-Soltando Informações / Drag and Drop para conhecer melhor sobre o processo drag and drop. Observações:
|
|
Evento que é chamado quando alguém arrasta uma informação em cima do controle e você deseja informar quais ações ou dados existem em um determinado ponto do controle. Parâmetros:
Por favor, consulte Arrastando-e-Soltando Informações / Drag and Drop para conhecer melhor sobre o processo drag and drop. Observações:
|
Created with the Personal Edition of HelpNDoc: Don't be left in the past: convert your WinHelp HLP help files to CHM with HelpNDoc