Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.
Editores de Componentes na Prática
Parte I: Conceitos e configuraçãoautomática do acessocom dbExpress
Com umduplocliqueemumImageList da VCL você verá o editorque auxilia na configuração de suasimagens; ao fazer o mesmoemumcomponentedescendente de TDataSet (como
TClientDataset, TSQLQuery etc.), será exibido o conhecidoField Editor. Essas telas (algumas vezes mini-aplicativos completos) que simplificam a configuração de componentessãochamadas de Editores de Componente,e são o assunto desta série de artigosem duas partes.
Apresentaremos doisexemplos construídos passo a passo. O primeiro, bemsimples, mostraconceitosbásicosatravés da criação de umeditor no estilo “OláMundo” para o componenteButtonda VCL. O segundo demonstra comocriarumeditorpara o componenteSQLQuery do dbExpress, que pode serbastanteútil – ele permite que, comapenasalgunscliques seja configurado umacesso dbExpress completo, usando os componentesSQLConnection,o próprioSQLQuery, umDataSetProvider,umClientDataSet e umDataSource, semque seja necessárioinseriressescomponentes no formulárioou no Data Module, nemconectá-los manualmente.
Nota– Umassunto relacionado ao tratadoaqui é a criação de Editores de Propriedade. Veja mais no artigo de Ivan Martins, na Edição 37.
Conceitosbásicos
Vamos ao primeiroexemplo. CliqueemFile|New>Other>Package (Figura 1) e no editor do pacoteclique no botãoOptions. Clique na abaDescription e na opçãoDescription digite “Button - Editor de componente”. Comoumeditor de componente é utilizado somentepela IDE do Delphi (elenão é compilado juntocomaplicações), devemos marcar a opçãoDesigntime only emUsage Options(Figura 2).
Figura 1. Criando um pacote
Figura 2. Configurando o pacotecomodesigntime e fornecendo uma descrição
CliqueemFile|New>Unit e altere a seçãointerfaceda unit como mostrado a seguir:
uses
DesignEditors;
type
TMeuEditor = class (TComponentEditor)
public
function GetVerbCount : integer; override;
function GetVerb (Index : integer): string; override;
Salve o pacote e a unit, mantendo os nomespadrões. Comovocê pode ver, paracriarumeditor de componente devemos criar uma subclasse de TComponentEditor (declarada na unit DesignEditors.pas) – ou uma subclasse de um de seusdescendentes –, e redefinirseusmétodosvirtuais (override).
Pressione Shift+Ctrl+C paracriar os cabeçalhos de implementação dos métodos, e implemente o métodoEdit da seguinteforma (essemétodo é disparado quando é dadoumduplocliquesobre o componente):
...
Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO
Desbloqueie toda a DevMedia
+2000 artigos e vídeos
+40 trilhas sobre Front-end, Back-end, IA e muito mais