• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Programando com C++Builder

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
VCL standard componentes




O Componente pallete contém uma seleção de componentes que permitem realizar grande variedade de programas. Você pode adicionar, remover e reordenar os componentes na pallete. Também pode criar novos componentes ou novas guias (páginas) que agruparão outros componentes.

Os componentes são arrumados na pallete de acordo com suas finalidades e funcionalidades. Essas páginas, de acordo com a versão do C++Builder que estiver rodando, contém uma arrumação padrão. A lista a seguir enumera as páginas padrão e os tipos de componentes nelas contidos.

Nome da Página
Conteúdo

Standard
Controles padrão Windows, menus, rótulos, botões, caixas de texto...

Additional
Controles adicionais como botões gráficos, componentes de imagem etc.

Win32
Controles comuns Windows 9x/NT 4.0

System
Componentes e controles para acesso aos sistema, incluindo timers, multimedia, e DDE

Data Access
Componentes não visuais para acessar tabelas de banco de dados, relatórios etc.

Data Controls
Componentes visuais, controles data-aware

ADO
Componentes que fornecem acesso a dados através de sistema ADO

InterBase
Componentes que fornecem acesso direto a InterBase

Midas
Componentes usados para criar aplicações base de dados multi-tiered

Internet Express
Componentes que são simultaneamente uma aplicação Web Server e o cliente de uma aplicação base de dados multi-tiered

Internet
Componentes para comunicação de protocolos de Internet e aplicações Web

FastNet
controles Internet NetMasters

Decision Cube
Controles que permitem resumir informações de base de dados e visualizá-las de uma variedade de perspectivas

Qreport
Componentes QuickReport para criação de relatórios

Dialogs
Caixas comuns de diálogo Windows

Win 3.1
Componentes no velho estilo Win 3.1

ActiveX
Controles Sample ActiveX

Samples
Componentes Sample

Servers
COM Servers para Microsoft Excel, Word, e assim por diante





O help online fornece informações acerca dos componentes na guia padrão. Alguns dos componentes como ActiveX e Samples são apenas providos de exemplos, não havendo qualquer documentação sobre os mesmos.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
O Ambiente Integrado de Desenvolvimento (IDE)





Quando você inicia o C++Builder, imediatamente entra em contato com o ambiente integrado de desenvolvimento, o qual também é chamado de IDE. Este ambiente fornece todas as ferramentas necessárias para projetar, desenvolver, testar, debugar e concluir aplicativos.



O ambiente integrado de desenvolvimento C++Builder inclui:

Menu principal

Inicia_o_BCB_htm_m3f361c92.gif


Form designer visual:

Ambiente_Integrado_de_Desenvolvimento_html_m79d7561f.gif



Object Inspector:

Ambiente_Integrado_de_Desenvolvimento_html_m35a13b77.gif




Componente pallete (guia de componentes):


Ambiente_Integrado_de_Desenvolvimento_html_2eb79c57.gif


Project Manager:

Ambiente_Integrado_de_Desenvolvimento_html_m328c7ed8.gif



source code editor (Editor de Códigos):

Ambiente_Integrado_de_Desenvolvimento_html_556da577.gif


debugger :

Ambiente_Integrado_de_Desenvolvimento_html_m732ea226.gif



e a ferramenta para instalação dos programas desenvolvidos:

Ambiente_Integrado_de_Desenvolvimento_html_m6655dd6f.gif




Você pode alterar um objeto livremente por toda a representação visual (no form designer);



no Object Inspector você pode editar o estado inicial que o objeto terá na execução do programa;



e no Editor de Códigos você pode editar a execução lógica do objeto.



Alterando o valor padrão de alguma propriedade, como, por exemplo, Name de um evento handler, no Object Inspector, automaticamente serão alterados todos os códigos iniciais correspondentes.



Além disso, mudar um código inicial, como renomear um evento ou método na área de declaração da classe form, imediatamente tal situação reflete-se no Object Inspector.



 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Projetando aplicações





O C++Builder inclui todas as ferramentas necessárias para o início do projeto de aplicações:



Uma janela vazia, conhecida como form, sobre a qual será projetada a interface de sua aplicação.

Uma extensa livraria com muitos objetos reutilizáveis.

Um Object Inspector para examinar e alterar as propriedades dos objetos.

Um Editor de Códigos que fornece acesso direto à base lógica do programa.

Um Project Manager para gerenciar os arquivos que compõem um ou mais projetos.

Muitas outras ferramentas tais como um editor de imagem e um debugger integrado nos menus para suporte no desenvolvimento de aplicações no IDE.

Ferramentas Linhas de Comando incluem compilador, linker e outros utulitários.



Você pode usar o C++Builder para projetar qualquer tipo de aplicação de 32 bits para Windows, desde programas básicos até sofisticados programas de acesso a gigantescas bases de dados ou a aplicações distribuídas.



A base de dados das ferramentas do C++Builder e os componentes visuais data-aware permitem que se desenvolva rapidamente poderosas aplicações de bancos de dados Cliente/Servidor. Usando controles data-aware do C++Builder, pode-se ver os dados na mesma hora em que se projeta a aplicação, vendo imediatamente os resultados de mudanças na base de dados na interface da aplicação.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Entendendo a VCL







A Livraria de Componentes Visuais (VCL) está baseada no modelo: propriedades, métodos e eventos (PME). O modelo PME define os dados membros (propriedades), as funções que operam nos dados (metodos) e uma forma de atuar com usuários e classes (eventos). A VCL é uma hierarquia de objetos, escrita em Object Pascal e usada, também, no IDE do C++Builder, o que permite que se desenvolva aplicativos rapidamente. Usando o C++Builder, podemos colocar componentes da pallete no form e especificar suas propriedades no Object Inspector sem escrever qualquer linha de código.



Propriedades



Propriedades são características dos componentes. Podemos visualizar e alterar propriedades dos componentes em tempo de projeto e perceber imediatamente as alterações que os componentes apresentam no IDE. Propriedades bem especificadas facilitam a utilização dos componentes pelos usuários, bem como ajudam na manutenção da aplicação.



Métodos



Métodos são funções que são membros de uma classe. Os métodos podem acessar todas as seções públicas, protegidas e privadas, e os dados membros da classe são geralmente acessados pelas funções-membros.



Eventos



Programação dirigida a eventos (EDP) significa que a programação pode responder a eventos. Na essência, programação orientada a eventos significa que o programa não se restringe ao que o usuário pode fazer. Por exemplo, num programa Windows, o programador, de maneira alguma, tem conhecimento da seqüência de ações que os usuários poderão executar. Eles poderão, por exemplo, abrir um menu, clicar um botão, ou selecionar um texto. Assim, EPD significa que escrevemos o código para eventos que podem ocorrer, eventos em que estivermos interessados, de preferência, devemos escrever códigos que sabemos que são executados costumeiramente.​
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Tipos de eventos







Podemos dividir em duas categorias os principais tipos de eventos que podem ocorrer:



Eventos do usuário

Eventos do sistema



Sem levar em conta de como um evento pode ser chamado, o C++Builder avalia se escrevemos algum código para tratar tal evento. Se o fizemos, tal código será executado; caso contrário, nada será feito.



Eventos do usuário



Eventos do usuário são ações iniciadas pelo usuário. Exemplos de eventos do usuário são OnClick (o usuário clica com o mouse), OnKeyPress (o usuário pressiona uma tecla do teclado), e OnDblClick (o usuário dá um duplo clique no botão do mouse). Esses eventos sempre estão amarrados à alguma ação do usuário.



Eventos do Sistema



Eventos do Sistema são eventos a cargo do sistema operacional. Por exemplo , o evento OnTimer (o componente Timer dispara um desses eventos sempre que um pré-definido intervalo de tempo passar), o evento OnCreate (evento disparado na criação do componente), o evento OnPaint (um componente ou janela necessita de ser redesenhado) etc. Habitualmente, Eventos do Sistema não são diretamente iniciados pela ação de um usuário.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Objetos, componentes

e controles na VCL






TObject
->
TPersistent
->
TComponent
->
TControl
->
TWinControl

|


v


v


v


v

|


[objects]


[objects]


TGraphicControl


[objects]

|

















|
->
[objects]













|

















|
->
[objects]













v

















Exception
->
[objects]





















Hierarquia simplificada da VCL

O diagrama acima é um sumário da Biblioteca de Componentes Visuais que mostra os cinco maiores ramos da herança da árvore.

Para uma visão completa da hierarquia VCL TObject, dê uma olhada no tópico VCL Object Hierarchy no help do BCB.





O ramo TObject





Todos os objetos da VCL descendem de TObject, uma classe abstrata cujos métodos definem os comportamentos fundamentais como construção, destruição e tratamento de mensagens. A maior parte das poderosas capacidades dos objetos VCL é estabelecida pelos métodos que TObject introduz. TObject encapsula os comportamentos fundamentais comuns a todos os objetos na VCL, apresentando métodos que possibilitam:



A capacidade de responder quando objetos são criados ou destruídos.

Tipo classe e informação de instância num objeto, e informação em tempo de execução (RTTI) acerca dessas propriedades públicas.

Suporte para tratamento de mensagens.



TObject é o ancestral imediato de muitas classes. Classes que estão contidas dentro desse ramo possuem uma característica comum importante: elas são transitórias. O que isto quer dizer? Significa que essas classes não tem um método para salvar o estado que elas se encontram antes de destruição, ou seja, elas não são persistentes.

Um dos principais grupos está no ramo da classe Exception. Essa classe fornece um grande grupo de construção de classes de exceções para tratar automaticamente erros como divisão por zero, erros em arquivos de entrada e saída I/O, e muitas outras exceções.



Outro tipo de grupo no ramo TObject são as classes que encapsulam dados estruturais, tais como:



TBits , uma classe que armazena um “array” de valores Booleanos.

TList , vinculado a classes de listas.

TStack , uma classe que mantém um last-in first-out array de ponteiros

TQueue , uma classe que mantém um first-in first-out array de ponteiros.



Você também pode encontrar encapsulamento por objetos externos como TPrinter, o qual encapsula as janelas de interface para a impressora, e TRegistry, um invólucro de baixo nível para o System Registry e funções que operam o registro.

Tstream é um bom exemplo de outro tipo de classe deste ramo. TStream é a classe base para objetos stream que podem ler ou escrever vários tipos de armazenamento, como arquivos de disco, memória dinâmica, e assim por diante.



Como você pode ver, esse ramo inclui diversos e diferentes tipos de classes que são muito úteis quando você está desenvolvendo aplicações.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
O ramo TPersistent







Diretamente abaixo de TObject na hierarquia VCL está TPersistent. TPersistent acrescenta dois importantíssimos métodos para todas classes baseados em SaveToStream e LoadFromStream. Esses métodos fornecem persistência a objetos.

Por exemplo, quando o programador necessita criar um arquivo DFM (arquivo usado armazenar informação acerca dos componentes no form), ele amarra essa coleção de componentes e chama SaveToStream para todos os componentes no form. Qualquer componente “sabe” como escrever as mudanças de suas propriedades fora de um stream (neste caso , num arquivo de texto). Inversamente, quando o programador necessita carregar as propriedades para os componentes desde o arquivo DFM, ele carrega através da coleção dos componentes e chama LoadFromStream para cada componente.

Assim, qualquer classe derivada de TPersistent possui a capacidade de salvar suas informações de estado e restaurá-las quando necessário.



Os tipos de classe neste ramo incluem:



TGraphicsObject, uma classe abstrata base para objetos que encapsulam objetos gráficos Windows: TBrush, TFont e TPen.

TGraphic, um tipo de classe abstrata base para objetos como ícones, bitmaps e metafiles que podem armazenar e exibir imagens visuais : TBitmap, TIcon e TMetafile.

TStrings, uma classe base para objetos que representam uma lista de strings.

TClipboard, um invólucro para o clipboard do Windows, o qual pode conter textos ou gráficos copiados ou cortados de uma aplicação.

TCollection, TOwnedCollection e TCollectionItem, usados para manter indexados coleções definidos de forma especial.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
O ramo TComponent







TComponent é o ancestral comum de todos os componentes VCL. Componentes são objetos que podemos manipular nos forms em tempo de desenvolvimento. Apesar do nome, a VCL consiste, principalmente, de objetos não visuais.

Componentes VCL são, em regra, objetos que possuem as seguintes capacidades:



A capacidade de aparecer no Componente palette e ser transferido para o form designer.

A capacidade de administrar-se, a si, e a outros componentes.

A capacidade de incrementar o fluxo e armazenar capacidades.

A capacidade de ser convertido em um controle ActiveX ou outro objeto COM por wizards na página ActiveX do diálogo New Objects.



TComponent atua como um “ônibus” padrão em que todos os componentes estão ligados. Há vários métodos em TComponent que ditam como os componentes agem durante o tempo de desenvolvimento. Este é também o local onde as propriedades Name e Owner são introduzidas. Todo componente derivado de TComponent tem propriedades Name e Owner. A owner é responsável pelo apagar de componentes (liberar a memória com relação aos componentes subalternos).

Componentes que não possuem necessidade de interface visual são derivados diretamente de TComponent.



Os tipos de classes que podem ser encontrados neste ramo incluem:



TMainMenu, uma classe que fornece uma barra de menus e para o form.

TTimer, uma classe que inclui a função timer da API do Windows.

TOpenDialog, TSaveDialog, TFontDialog, TFindDialog, TColorDialog, e assim por diante, as caixas de diálogo comuns..

TActionList, uma classe que mantém uma lista de ações usadas por componentes e controles, como os menus e os botões.

TScreen, uma classe que registra quais forms e módulos de dados foram instanciados pela aplicação, o form ativo e os controles ativos dentro desse form, o tamanho e a resolução da tela, e os cursores e as fontes disponíveis para a aplicação em uso.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
O ramo TControl







Todos os controles são objetos visuais, o quê significa que o usuário pode vê-los e manipulá-los em tempo de execução. Todos os controles possuem propriedades, métodos e eventos em comum que são específicos para o aspecto visual dos controles, como a posição do controle, o cursor ou hint associado com o controle, métodos para pintar ou mover o controle e eventos para responder ações do mouse.

Enquanto Tcomponent define comportamento para todos os componentes, Tcontrol define comportamento para todos os controles visuais. Este inclui rotinas arrastar, eventos padrão Windows e containers.



Um grupo de classes



Deste ramo é chamado TGraphicControls. TGraphicControls são controles que podem ser desenhados e nunca receber o foco. Os tipos de controles que podem ser encontrados neste grupo incluem:



Timage, um controle que exibe imagens gráficas..

TLabel, um controle que exibe um texto no form.

TBevel, um controle que representa cortes desenhos.

TPaintBox, um controle que provê um canvas para que aplicações possam usar para desenhar ou restaurar uma imagem.



Observe que estes incluem em comum a rotina paint (Paint, Repaint, Invalidate, etc.), mas o C++Builder não tem que alocar uma janela para eles porque eles não necessitam receber o foco.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
O ramo TWinControl







TWinControl é a classe base para todos os controles providos de janelas (Windowed controls). A seguir, as características desses controles:



Windowed controls são controles que podem receber foco quando a aplicação estiver executando.

Outros controles talvez exibam dados, mas o usuário somente poderá usar o teclado para interagir com um controle se o controle for um windowed control.

Windowed controls podem conter outros controles.

Um controle que contém outro controle é um parent. Somente um windowed control pode ser um parent de um ou mais controles filhos (child controls).

Windowed controls tem um window handle.



TWinControls são como TControls exceto pelo fato de poderem receber o foco. Isto significa que existem muito mais eventos standard para aplicar para eles e que o Windows deve alocar um window handle para eles.

Este ramo inclui ambos os controles que são desenhados automaticamente pelo Windows (incluem TEdit, TListBox, TComboBox, TPageControl etc) e também os controles que o C++Builder precisa desenhar (incluem TDBNavigator, TMediaPlayer, TGauge etc). De qualquer forma, você nunca precisará se preocupar acerca da implementação de quaisquer detalhes de como os controles funcionam ou respondem a eventos, pois o C++Builder encapsula completamente esses comportamentos para você.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Propriedades comuns de TControl







Todos os controles visuais (descendentes de TControl) compartilham certas propriedades, incluindo:



Position, Size e Alignment

Display

Parent

Navigation

Drag-and-drop

Drag-and-dock

Action



Apesar de essas propriedades serem herança de TControl, elas são públicas — e, conseqüentemente, aparecem no Object Inspector — somente para os componentes aos quais elas são aplicáveis. Por exemplo, TImage não publica a propriedade Color, sendo sua cor determinada pelo gráfico exibido.







TControl Action







Actions permitem que você compartilhe o código para ações comuns (por exemplo, quando um botão e um menu fazem a mesma coisa), e também fornecem um único caminho centralizado para ativar ou desativar ações, dependendo do estado de sua aplicação.



Action designa a ação associada ao controle.

ActionLink contém o action link object associado com o controle.





TControl Position, Size e Alignment







Este grupo de propriedades define a posição e o tamanho do controle no controle parent:



Height (altura) ajusta o comprimento vertical.

Width (largura) ajusta o comprimento horizontal.

Top posição da margem superior.

Left posição da margem esquerda.

AutoSize especifica se o controle ajusta seu tamanho automaticamente de acordo com o seu conteúdo.

Align determina como o controle ajusta-se (tamanho e forma) dentro do container (controle parent).

Anchor especifica como o controle fica ancorado no parent.



Este grupo de propriedades determina a altura, a largura e o tamanho global do controle cliente área:



ClientHeight especifica a altura do controle cliente área em pixels.

ClientWidth especifica a largura do controle cliente área em pixels.



Essas propriedades não são acessíveis aos componentes não visuais, mas o C++Builder mantém-nos informados acerca das coordenadas do local em que o ícone de tais componentes encontram-se inseridos no form. Na maior parte das vezes, ajustamos e alteramos essas propriedades pela simples manipulação do controle no form, o que reflete diretamente no Object Inspector, mas, de qualquer forma, podemos alterá-las em tempo de execução.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
TControl Display







As propriedades a seguir administram a aparência geral dos controles:



Color altera a cor do background (fundo) de um controle.

Font altera a cor, o tipo, o estilo ou o tamanho de um ou mais caracteres.

Cursor especifica a imagem usada para representar o ponteiro do mouse quando este passar pela região abrangida pelo controle.

DesktopFont especifica se o controle usa as fonts símbolos do Windows quando escrever um texto.







TControl Parent





Para manter uma aparência consistente através de nossa aplicação, podemos fazer qualquer controle parecer como um container dela - chamar parent dela - colocando a propriedade parent como true.



ParentColor determina onde o controle deve procurar informações a respeito de sua cor.

ParentFont determina onde o controle procurará informação sobre sua font.

ParentShowHint determina a forma que o controle exporá seu Help Hint.







TControl Navigation







A propriedade seguinte determina como o usuário pode navegar entre os controles no form.



Caption contém o texto que rotula um componente. Para sublinhar um caracter numa string, devemos incluir um sinal “&” (E comercial) antes do caracter. A esse tipo de caracter, chamamos tecla aceleradora. Então, o usuário poderá selecionar o controle pressionando as teclas Alt juntamente com o caracter sublinhado.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
TControl Drag-and-drop







Duas propriedades afetam o comportamento drag-and-drop (arrastar e soltar):



DragMode determina a forma do início do arrastar. Por padrão, DragMode é marcado dmManual, e a aplicação deve chamar o método BeginDrag para iniciar um arrastar. Quando DragMode está marcado para dmAutomatic, inicia-se um arrastar tão logo seja pressionado o botão do mouse.

DragCursor determina a figura do ponteiro do mouse quando um componente é arrastado.





TControl Drag-and-dock







As seguintes propriedades controlam o comportamento drag-and-dock:



Floating indica se o controle é flutuante.

DragKind especifica se o controle é arrastado normalmente ou por ancoragem.

DragMode determina como o controle inicia operação drag-and-drop ou drag-and-dock.

FloatingDockSiteClass especifica a classe do controle que hospeda temporariamente o controle quando ele é flutuante.

DragCursor é o cursor exibido enquanto é arrastado.

DockOrientation especifica como o controle é trazido em relação a outros controles no mesmo parent.

HostDockSite especifica o controle no qual o controle é trazido.



Para maiores informações, veja Implementing drag-and-dock in controls.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
eventos Standard de TControl







A VCL define um grupo de eventos padrões para esses controles. Os eventos a seguir são declarados como parte da classe TControl, e estão, portanto, disponíveis para todas as classes que derivam de TControl:





OnClick ocorre quando o usuário dá um clique no controle.



OnContextPopup ocorre quando o usuário dá um clique no controle com o botão direito do mouse ou invoca o menu pop-up de outra forma (como usando o teclado).



OnCanResize ocorre quando é feita uma tentativa de alterar o tamanho do controle.



OnResize ocorre imediatamente após o controle ter seu tamanho alterado.



OnConstrainedResize ocorre imediatamente após OnCanResize.



OnStartDock ocorre quando o usuário inicia o arrastar de um controle com DragKind de dkDock.



OnEndDock ocorre quando o arrastar de um objeto termina, também ocorre pelo cancelar do arrastar.



OnStartDrag ocorre quando o usuário inicia o arrastar do controle ou objeto pelo clique do botão esquerdo sobre controle, segurando tal botão pressionado.



OnEndDrag ocorre quando o arrastar de um objeto termina, pelo soltar do objeto ou por se cancelar a operação.



OnDragDrop ocorre quando o usuário solta o objeto que está sendo arrastado.



OnMouseMove ocorre quando o usuário move o ponteiro do mouse enquanto o ponteiro está sobre o controle.



OnDblClick ocorre quando o usuário dá um duplo clique com o botão principal do mouse, estando o ponteiro do mouse está sobre o controle.



OnDragOver ocorre quando o usuário arrasta um objeto sobre um controle.



OnMouseDown ocorre no exato momento que o usuário pressiona o botão do mouse, estando o ponteiro sobre o controle.



OnMouseUp ocorre quando o usuário libera o botão do mouse que foi pressionado quando o ponteiro do mouse estava sobre o componente.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
aplicações de Bancos de Dados







Uma das grandes forças do C++Builder é o seu suporte para a criação de avançadas aplicações de bancos de dados. C++Builder inclui ferramentas para construção que nos permitem conectar a Oracle, Sybase, Informix, dBASE, Paradox, ou outros servidores, enquanto fornece e distribui dados entre aplicações. O Borland Database Engine (BDE) suporta ativar desktop para aplicações client/server.



Ferramentas, como Database Explorer, simplifica a tarefa de escrever aplicações de bancos de dados. O Database Explorer é um navegador hierárquico para inspecionar e modificar servidor específico de bancos de dados, incluindo tables (tabelas), fields (campos), stored (armazenamento), procedure (administração) definitions (definições), triggers (início), references (referências),e index descriptions (descrições de índice).



Através de uma consistente conexão com um banco de dados, o Database Explorer permite-nos:



Criar e manter base de dados aliases;



Visualizar esquema de dados numa base de dados , como tables, stored, procedures, e triggers;



Visualizar tabelas, campos e índices;



Criar, visualizar e modificar dados em tabelas;



Entrar com instruções SQL para pesquisar diretamente qualquer base de dados;



Criar e manter dados para armazenar grupos de atributos.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Propriedades comuns de TWinControl







TWinControl é a classe base e que provê funcionalidades comuns a todos os controles que atuam como invólucro para objetos screen (“janelas”) Microsoft Windows. Controles base de invólucros de janelas possuem as seguintes características:



O controle pode incorporar a funcionalidade de uma janela base. Por exemplo, se o objeto base é um editor de textos, o controle pode incorporar a habilidade de controlar e exibir um texto buffer.



O controle pode receber o foco através de ações do usuário. Um controle que pode receber o foco pode tratar dados de entrada advindos de eventos do teclado. Alguns controles mudam sua aparência quando estão com o foco. Por exemplo, controles Button indicam que estão com o foco através do desenho de uma área retangular em volta de seu Caption.



O controle pode servir como um container para outros controles referidos como controles child (filhos). Este relacionamento encontra sua significância na propriedade child's Parent. Controles container provêem importantes serviços para seus filhos (children), incluindo exibição de tarefas de controles que não implementam sua própria tela. Exemplo de controles container incluem forms, panels, e toolbars.



Controles baseados em TWinControl podem exibir telas standard fornecidos por Microsoft Windows, ou personalizar telas desenvolvidos com a VCL.



Descendentes de TWinControl incluem classes base abstratas que sustentam a maioria dos tipos de interface com usuários. O mais significante descendente é TCustomControl, que provê código para implementar um canvas e tratar mensagens paint. Outro importante descendente abstrato inclui TScrollingWinControl, TButtonControl, TCustomComboBox, TCustomEdit, e TCustomListBox. Quando definimos novas classes de controles, devemos considerar esses descendentes antes de derivar diretamente de TwinControl.



Cada objeto TWinControl possui uma propriedade Handle a qual fornece tratamento para suporte a objetos screen Microsoft Windows. Use a propriedade Handle para contornar a VCL API e acessar diretamente a janela.



Todos os controles providos de janelas (descendentes de TWinControl) compartilham certas propriedades, incluindo:



Informações acerca do controle

Exibição de propriedades Border Style (estilo da borda)

Propriedades de Navegação

Propriedade Drag-and-dock





Essas propriedades são herdadas de TwinControl são published — e, portanto, aparecem no Object Inspector — só para os controles para os quais elas existem.



Nota: Membros published tem a mesma visibilidade dos membros públicos. A diferença é que as informações em tempo de execução (RTTI) são geradas por membros published.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
TWinControl propriedades de informações gerais







As propriedades de informações gerais contêm informações acerca da aparência do TWinControl, client area, size e origin, windows assigned information, e informações a respeito do movimento do mouse.



ClientOrigin especifica as coordenadas na tela (em pixels) do canto superior esquerdo da área cliente de um controle. As coordenadas na tela do controle descendente de TControl e não de TWinControl são as coordenadas na tela dos controles parent adicionado às suas propriedades Left e Top.



ClientRect retorna um retângulo com suas propriedades Top e Left marcadas para zero, e as propriedades Bottom e Right marcadas de acordo com as propriedades Height e Width, respectivamente. ClientRect é equivalente a:
Rect(0, 0, ClientWidth, ClientHeight)



Brush determina a cor e o padrão usado para pintar o background do controle.



Handle provê acesso ao window handle do controle.



WindowHandle também provê acesso ao window handle do controle.



HelpContext provê um número contexto para uso na chamada de Help online.



Controls lista todos childrens do controle provido de janelas.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
TWinControl propriedades de exibição do estilo da borda







A propriedade bevel (estilo de inclinação da borda do componente) controla a aparência dos cortes das linhas das bordas, boxes, ou frames no form e de controles providos de janela em sua aplicação.





InnerBevel especifica se o interior bevel possui aparência em relevo, rebaixada ou plana.



BevelKind especifica o tipo de bevel - se o controle possui bordas.



BevelOuter especifica se o bevel externo tem aparência plana, rebaixada ou em relevo.



BevelWidth especifica o width, em pixels, do interior e exterior do bevel.



BorderWidth é usado para receber ou agrupar o width da borda do controle.



BevelEdges é usado para receber ou colocar chanfra na margem do controle.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
TWinControl propriedades de navegação







Duas propriedades adicionais determinam como o usuário navega entre os controles num form:



TabOrder indica a seqüência que o controle é selecionado pela tecla Tab do controle em relação a seu parent; ou seja, a ordem na qual o controle recebe o foco quando o usuário pressiona a tecla Tab. Inicialmente, TabOrder é a ordem na qual os controles são colocados no form, mas você pode mudar essa ordem alterando a propriedade TabOrder no Object Inspector. TabOrder funciona somente se TabStop estiver true.



TabStop determina se o usuário pode usar a tecla Tab para modificar o foco de um controle. Se TabStop estiver true, o controle aceita a TabOrder.







TWinControl propriedade Drag-and-dock







As propriedades a seguir administram o comportamento drag-and-dock:





UseDockManager especifica se o dock manager é usado em operações drag-and-dock.



VisibleDockClientCount especifica o número de controles visíveis que são colocados na janela.



DockManager especifica a interface do controle dock manager.



DockClients lista os controles que são colocados no controle windowed (provido de janela).



DockSite especifica se o controle pode ser alvo de operações drag-and-dock.





Para maiores informações, ver implementação drag-and-dock em controles.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
eventos Standard de TWinControl





Os seguintes eventos existem para todos os controles derivados de TWinControl (que também incluem todos os controles que definem o Windows). Estes eventos são adicionais àqueles que existem em todos os controles.



OnEnter ocorre quando o controle está recebendo o foco.



OnKeyDown ocorre na descida (down) da tecla que recebe a pressão.



OnKeyPress ocorre quando o usuário pressiona uma única tecla de caracter.



OnKeyUp ocorre na subida (up) da tecla que estava pressionada e foi liberada pelo usuário.



OnExit ocorre quando o foco é transferido para outro controle.



OnDockDrop ocorre quando outro controle é trazido para o controle.



OnDockOver ocorre quando outro controle é arrastado sobre o controle.



OnGetSiteInfo retorna informação do controle trazido.



OnMouseWheel ocorre quando o mouse roda em círculos.



OnMouseWheelDown ocorre quando o mouse gira abaixando.



OnMouseWheelUp ocorre quando o mouse gira subindo.



OnUnDock ocorre quando a aplicação testa para retirar um controle que é docked para um controle windowed.
 
Topo