Artigo Clube Delphi Edição 37 - Componentes com estilo
Vamos criar um editor para as propriedades Date, EndDate, MaxDate e MinDate da classe TMonthCalendar; depois um editor de componente para a classe TStringGrid.
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.
Componentes com estilo
Editores de propriedades e de componentes
O ambiente Delphi é bastante flexível, pois permite a agregação de novas funcionalidades personalizadas à IDE. Você pode estender o Object Inspector adicionando editores de propriedades personalizados, e estender o Form Designer, criando editores de componentes.
Para exemplificar a utilização dos dois tipos de editores, criaremos dois exemplos bastante simples. Primeiramente, vamos criar um editor para as propriedades Date, EndDate, MaxDate e MinDate da classe TMonthCalendar; depois um editor de componente para a classe TStringGrid.
Criando um package
Vamos criar um package para armazenar nossos editores. Selecione File|New>Other>Package; clique na seção Requires do editor de packages e use o botão Browse para adicionar o arquivo designide.dcp (no diretório $(DELPHI)\Lib); salve o package com o nome “miPackage.dpk”.
Editor de propriedade
A forma que uma propriedade é editada no Object Inspector é determinada pelo seu editor de propriedade. Existem várias classes de editores de propriedade pré-definidas no Delphi, mas talvez nenhuma dessas sejam adequadas para uma propriedade personalizada, criada por você. Nesses casos, você precisará criar seu próprio editor de propriedade. É o que faremos a seguir.
Primeiramente, adicione um componente TMonthCalendar ao formulário principal e altere a propriedade Name do componente para "calDate" (veja a Figura 1). Altere o nome do formulário para "frmDatePropEditor"; essa tela exibirá um calendário para o usuário selecionar uma data para a propriedade correspondente.
Figura 1. Formulário para seleção de data
O próximo passo será criar um descendente da classe TPropertyEditor. Crie uma unit com o seguinte código inicial:
"
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo