Objeto básico e portanto com poucas propriedades, eventos e métodos. TWOLRoot é mais primitivo dos objetos WOL.
Arquivo fonte: WOLGUI00.PP.
.
* Esse objeto pode ser substituído por TComponent da FCL definindo-se WOLROOTISCOMPONENT no include WOLGUI.INC.
É o objeto base para aqueles que necessitam de propriedades, métodos e eventos básicos para terem uma funcionalidade mas sem serem visíveis.
É responsável por alocação de recursos do sistema para funcionar. É descendente de TWOLRoot.
Código fonte: WOLGUI01.PP.
| Propriedades |
|
| —Left:TWOLInteger |
Usada para indicar a posição do lado esquerdo do objeto visual. |
| —Top:TWOLInteger |
Usada para indicar a posição do lado superior do objeto visual. |
| —Width:TWOLInteger |
Usada para indicar a largura do objeto visual. |
| —Height:TWOLInteger |
Usada para indicar a altura do objeto visual. |
| —Parent:TWOLVisualControl |
Usada para atribução do objeto pai do objeto visual. |
| —PopupMenu:TWOLPopupMenu |
Usada para associar um menu popup para o objeto. |
| —Caption:String |
Usada para atribuir um título que apareça no objeto. |
| —Color:TWOLColor |
Usada para atribuir uma cor ao objeto. |
| —Hint:String |
Usada para atribuir uma dica ao objeto. As dicas são ligadas ou desligadas dependendo da presença do texto nessa propriedade. |
| —Enabled:Boolean |
Usada para habilitar ou não o objeto visual. Um objeto visual desabilitado não recebe mensagens. |
| —Visible:Boolean |
Usada para tornar visível ou não um objeto visual. |
| —Cursor:TWOLCursor |
Usada para indicar um ponteiro de mouse para o objeto visual. |
| —TextAlign:TWOLJustifySet |
Usada para indicar a forma de justificação do texto de um objeto. |
| —WindowRect:TWOLRect |
Usada para atribuir ou recuperar o valor do retângulo da janela do objeto visual. |
| —ClientRect:TWOLRect |
Usada para recuperar o retângulo da área cliente do objeto visual. Esse valor depende da GUI e só ela pode modificar. |
| —State:TWOLState |
Usada para recuperar ou modificar o estado do objeto. |
| —Style:TWOLGUIStyles |
Usada para recuperar ou atribuir um estilo para o objeto. O estilo determina aparência e comportamento de objetos visuais. |
| —Changed:Boolean |
Usada para recuperar o valor de alguma mudança que o objeto tenha sofrido. Se for lida, volta a ter o valor False até que uma nova modificação seja feita no objeto. |
| —Loaded:Boolean |
Usada para indicar o estado de carregado e pronto para rodar do objeto. |
| —Params:TWOLParams |
Usada para recuperar e atribuir os valores de criação do objeto. TWOLParams guarda uma série de valores, como posição, altura, largura, cor, etc. |
| —ParamRect:TWOLRect |
Usada para recuperar o valor da dimensão do objeto contido nos valores de criação. |
| —wolClass:TWOLClassType |
Usada para recuperar o tipo da classe do objeto visual. |
| |
| Métodos Públicos |
| —constructor Create(AOwner:TWOLRoot); override; |
| Usado para criar o objeto. |
| —destructor Destroy; override; |
| Usado para destruir o objeto da memória. |
| —procedure AddStyle(Estilo:TWOLGUIStyles); |
| Usado para adicionar um estilo ao objeto. O estilo determina um ou mais tipo de comportamento de objetos visuais |
| —procedure DelStyle(Estilo:TWOLGUIStyles); |
| Usado para excluir um estilo do objeto.
|
| —function ExistsStyle(Estilo:TWOLGUIStyle):Boolean; |
| Usada para verificar se um estilo está presente ou não no objeto. |
| —function isHandleZero:Boolean; |
| Usada para verificar se o número do manipulador (Handle) é zero. Um objeto visual recebe um número que o representa. |
| —procedure Change; virtual; |
| Usado para modificar a propriedade Changed. Essa propriedade, quando lida, volta a ser False |
| —procedure Load; virtual; |
| Usado para indicar o carregamento em memória e a prontidão do objeto para ser executado. |
| —procedure Click; virtual; |
| Usado para simular um click em um objeto que suporte a ação do mouse. |
| —function DefaultProc(var Message:TWOLMessage):TWOLLongint; virtual; |
| Usada para processamento padrão da GUI quando não houver processamento da WOL para mensagem no objeto. |
| —function SendMessage(var Msg:TWOLMessage):TWOLSmallInt; virtual; abstract; |
| Usada para enviar uma mensagem diretamente à GUI. |
| —function PostMessage(Msg:Cardinal; WParam:Cardinal; LParam:Cardinal):Cardinal; virtual; abstract; |
| Usada para postar uma mensagem diretamente à GUI (em geral, a função posta a mensagem retorna, ao invés de ficar
esperando resposta, como a sendmessage). |
| —procedure AllocResources; virtual; |
| Usado para alocar recursos da GUI (memória) para as diversas peças do objeto durante a criação. |
| —procedure FreeResources; virtual; |
| Usado para liberar os recursos alocados na criação pelas diversas partes do objeto. |
| —function WndPaint(var Message:TWOLMessage):Boolean; virtual; abstract; |
| Usada para processar mensagens de pintura de objetos visuais. Mas recebe outras mensagens. |
| —function WndKeyboard(var Message:TWOLMessage):Boolean; virtual; abstract; |
| Usada para processar mensagens de teclado. No entanto recebe outras mensagens. |
| —function WndMouse(var Message:TWOLMessage):Boolean; virtual; abstract; |
| Usada para processar mensagens de mouse. No entanto recebe outras mensagens. |
| —function WndNotify(var Message:TWOLMessage):Boolean; virtual; abstract; |
| Usada para processar mensagens de notificação da GUI. No entanto recebe outras mensagens. |
| —function WndCommand(var Message:TWOLMessage):Boolean; virtual; abstract; |
| Usada para processar mensagens de comando da GUI. No entanto outras mensagens. |
| —function WndProc(var Message:TWOLMessage):Boolean; virtual; abstract; |
| Usanda para processar mensagens diversas da GUI. Esta é a função principal de processamento de mensagens.
Antes de processar a mensagem, a função chama as outras funções Wnd*. Se uma dessas funções retorna True, o restante das
funções não será processada. |
| —function WndText(var Message:TWOLMessage):Boolean; virtual; abstract; |
| Usada para processar mensagens de texto. No entanto, outras mensagens são recebidas pela função. |
| —function GetWOLText:PChar; virtual; |
| Usada para se recuperar o texto de uma janela na forma de PChar. Isso principalmente para textos longos, como os contidos em memorandos. |
| —procedure SetWOLText(Value:PChar); virtual; |
| Usado para apontar o texto de uma janela igual ao valor contido em Value. Útil em objetos com textos longos, como memorandos. |
| |
| Eventos Públicos |
| —OnDesigner:TDesignerFunction |
| Usado para processar mensagens do objeto quando este está sendo criado pelo WOLDesigner. Ao ser criado pelo editor, automaticamente o procedimento é associado ao objeto. |
| —OnCreate:TWOLEvent |
| Evento disparado quando o objeto é criado. |
| —OnDestroy:TWOLEvent |
| Evento disparado quando o objeto é destruído. |
| —OnClick:TWOLEvent |
| Evento disparado quando o objeto visual é clicado. |
| —OnDblClick:TWOLMouseEvent |
| Evento disparado quando ocorre um duplo click sobre o objeto visual. |
| —OnMouseDown:TWOLMouseEvent |
| Evento disparado quando um botão do mouse é baixado sobre o objeto visual. |
| —OnMouseMove:TWOLMouseEvent |
| Evento disparado quando o mouse é movido sobre um objeto visual. |
| —OnMouseUp:TWOLMouseEvent |
| Evento disparado quando o botão do mouse é levantado sobre o objeto. |
É o objeto mais próximo da GUI em uso. Por si só não é visível, mas apresenta todas as características de um objeto visível de forma
a facilitar a derivação e apresentar qualquer objeto que se possa ver na janela. Todos os objetos de janela devem ser derivados
diretamente desse. É descendente de TWOLBase. Código fonte: WOLGUI01.PP.
| Propriedades |
Descrição |
| —Controls[Index:Integer]:TWOLBase |
Recupera o objeto de índice index, baseado na ordem de criação. |
| —Focused:Boolean |
Indica se o objeto de janela tem o foco de teclado ou não. |
| —Brush:TWOLBrush |
Indica um objeto brush associado ao objeto de janela. |
| —Font:TWOLFont |
Indica o objeto font associado ao objeto de janela. |
| —Canvas:TWOLCanvas |
Indica um objeto canvas associado ao objeto de janela. |
| —Ctrl3D:Boolean |
Indica se o objeto de janela tem ou não aparência 3D. |
| —Handle:TWOLHandle |
Indica o número do handle do objeto de janela. |
| —ControlCount:Integer |
Indica a quantidade objetos de janela contidos no objeto corrente. |
| —TabOrder:TWOLInteger |
Indica a ordem de tabulação do objeto de janela. Se não há ordem, o valor é -1. Essa propriedade só tem efeito em objetos que possam receber o foco do teclado. |
| —TabStop:Boolean |
Indica que o objeto de janela é um ponto de parada da tabulação. Se objeto não pode receber o foco do teclado, esse valor será False. |
| —Color:TWOLColor |
Indica o valor da cor de um objeto de janela. A cor é sempre no formato RGB. |
| —Border:TWOLBorderSet |
Indica o tipo de bordo que o objeto de janela deve ter. |
| —WindowAlign:TWOLWinAlign |
Indica o tipo de alinhamento que o objeto de janela deve ter. |
| |
| Métodos Públicos |
| —procedure Repaint; virtual; |
| Usado para forçar o redesenho de um objeto de janela. |
| —function IsPaintMsg(const Message:TWOLMessage):Boolean; virtual; |
| Usada para se verificar se a mensagem passada é de pintura do objeto de janela. |
| —procedure UpdateBounds; virtual; |
| Usada para atualizar os valores do retângulo de dimensão do objeto de janela. |
—function IsControlMouseMsg(var Message:TWOLMessage):Boolean; |
| Usada para verificar se a mensagem passada se dirige a um determinado objeto de janela. |
| —procedure RemoveControl(Ctrl:TWOLBase); virtual; |
| Usado para remover um objeto de janela da lista de filhos do seu pai ou dono. |
| —procedure InsertControl(Position:TWOLSmallInt; Ctrl:TWOLBase); virtual; |
| Usado para inserir um objeto de janela na lista do seu objeto pai ou dono. |
| —function FindTabControl(Ctrl:TWOLVisualControl; aTabOrder:TWOLInteger; GoNext:Boolean):TWOLVisualControl; |
| Usada para procurar um determinado controle na ordem de tabulação. Se não for encontrado, retorna nil. |
| —function SelectTabControl(Ctrl:TWOLVisualControl; GoNext:Boolean):Boolean; |
| Usada para selecionar um objeto visual seguinte ou anterior ao atual com relação à tabulação. |
| —procedure AlignChildren(theRect:TWOLRect); virtual; |
Usada para alinhar os filhos do objeto visual pela sua área cliente ou pela área determinada por theRect. A
distribuição de cada objeto é determinada pela propriedade WindowAlign. |
| —function Broadcast(var Message):Boolean; virtual; |
| Usada para enviar uma mensagem a todos os objetos visuais filhos. Se um deles processar a mensagem, o retorno será True. |
| —procedure CreateGUIParams(var aParams:TWOLParams; const wClass:TWOLClassType); virtual; |
| Usado para se comunicar com o kernel da GUI e recuperar os estilos nativos para uma classe. Esses estilos irão determinar o comportamento e o visual do objeto de janela. |
| —procedure CreateWnd(var aParams:TWOLParams); virtual; |
| Usado para interagir com o kernel para criar efetivamente a janela com os recursos da GUI. |
| —procedure DestroyWnd; virtual; |
| Usado para destruir a janela do objeto visual. Não destrói o objeto da memória. |
| —procedure RecreateWnd; virtual; |
| Usado para recriar a janela do objeto visual. Muitas vezes, a mudança de um estilo requer a recriação da janela para refletir o novo comportamento e/ou visual. |
—function DefaultProc(var Message:TWOLMessage):TWOLLongint; override; |
| Retorna o valor padrão do procedimento de janela no Windows. Noutras GUIs, geralmente não tem equivalente. |
| —procedure SetFocus; virtual; |
| Usado para dar a atenção do teclado ao objeto de janela. Nem todos os objetos de janela podem manipular o teclado. |
| —function FindControl(aHandle:TWOLHandle):TWOLVisualControl; virtual; |
| Usada para encontrar um objeto de janela a partir de seu número de manipulador ou handle. |
| —function FindControlByName(aName:String):TWOLVisualControl; virtual; |
| Usada para encontrar um objeto de janela a partir do seu nome. |
| —procedure ScrollBy(DeltaX, DeltaY:TWOLSmallInt); |
| Usada para rolar em qualquer direção a posição de um objeto de janela. Números negativos indicam para cima e para a esquerda. |
| —function SendMessage(var Msg:TWOLMessage):TWOLSmallInt; override; |
| Envia uma mensagem para o Windows com execução imediata. Em outras GUIs não tem equivalente. |
| —function PostMessage(Msg:TWOLCardinal; WParam:TWOLCardinal; LParam:TWOLCardinal):TWOLCardinal; override; |
| Semelhante a anterior mas com execução posterior aos processamentos correntes. Não é imediata. |
| —procedure ReleaseMouse; virtual; |
| Usado para liberar o mouse quando ele é capturado por um objeto de janela. |
| —procedure CaptureMouse; virtual; |
| Usado para que um objeto de janela capture o cursor do mouse. Um objeto que tem o mouse capturado recebe
mensagens do mouse com exclusividade. |
| —procedure Refresh; virtual; |
| Usado para repintar o objeto de janela. |
| —procedure HandleNeeded; virtual; |
| Usado para criar um handle para o objeto de janela. Esse procedimento verifica se o objeto tem handle
diferente de zero. Caso não tenha, ele chama CreateWnd. |
| —procedure Hide; virtual; |
| Usado para esconder ou tornar invisível um objeto de janela. Um objeto de janela escondido não recebe mensagens. |
| —procedure Show; virtual; |
| Usado para mostrar ou tornar visível um objeto de janela. |
| —procedure Redraw; virtual; |
| Usado para redesenhar um objeto de janela e seus filhos. |
| —procedure DrawDesignFocus; virtual; |
| Usado em tempo de projeto para desenhar o retângulo de foco do objeto de janela que está sendo manipulado correntemente. |
| —function ClientToScreen(Point:TWOLPoint):TWOLPoint; |
| Usada para converter um ponto do objeto de janela em coordenadas de tela. |
| —function ScreenToClient(Point:TWOLPoint):TWOLPoint; |
| Usada para converter um ponto da tela em coordenadas do objeto de janela. |
| —function PointInBounds(Point:TWOLPoint):Boolean; virtual; |
| Usada para verificar se um ponto está contido na área do objeto de janela. |
| —procedure BringToFront; |
| Usado para trazer o objeto de janela para frente de todos os outros. |
| —procedure SendToBack; |
| Usado para enviar o objeto de janela para trás de todos os outros. |
| —procedure OrderByTopLeft; |
| Usado para ordenar a criação e tabulação dos objetos baseado nas suas posições. |
| —function GetParentForm:TWOLForm; |
| Usada para recuperar o formulário ou janela na qual está o objeto visual, mesmo não sendo seu dono direto. |
| —function isUniqueName(const S:String):Boolean; |
| Usada para verificar se o nome de um objeto visual é o único em uma janela. |
| |
| Eventos Públicos |
| —OnHide :TWOLEvent |
| Evento disparado quando o objeto de janela é escondido. |
| —OnShow :TWOLEvent |
| Evento disparado quando o objeto de janela é tornado visível. |
| —OnEnter :TWOLEvent |
| Evento disparado quando o objeto de janela recebe o foco do teclado. |
| —OnExit :TWOLEvent |
| Evento disparado quando o objeto de janela perde o foco do teclado. |
| —OnResize :TWOLEvent |
| Evento disparado quando o objeto de janela tem as dimensões modificadas. |
| —OnKeyPress:TWOLKeyEvent |
| Evento disparado quando o teclado é acionado para o objeto de janela com o foco. |
| —OnCtlColor:TWOLMsgEvent |
| Evento disparado quando um objeto de janela necessita ser pintado. Essa pintura difere da do Paint, já que apenas a cor pode ser alterada. |
| —OnPaint :TWOLMsgEvent |
| Evento disparado quando o objeto de janela necessita se pintado. Nesse caso pode-se desenhar qualquer coisa no objeto. |
| —OnPaintBkG:TWOLMsgEvent |
| Evento disparado quando o fundo do objeto de janela necessita ser desenhado. |
| —OnPaintBrd:TWOLMsgEvent |
| Evento disparado quando o bordo do objeto de janela necessita ser pintado. Nem toda GUI permite o bordo seja pintado. |