Aplicação do atributo Parent. Muitas vezes as pessoas ignoram a existência do atributo Parent. Então deixe-o mostrar seu poder.
Confira essa coisa boa:
unidade Edit1;
interface
usa
Windows, Mensagens, SysUtils, Classes, Controles, StdCtrls;
tipo
TSParent = classe(TEdit)
Privado
{Declarações privadas}
protegido
{Declarações protegidas}
público
{Declarações públicas}
publicado
{Declarações publicadas}
propriedade Pai;
fim;
Cadastro de procedimento;
implementação
Cadastro de procedimento;
começar
RegisterComponents('Amostras', [TSParent]);
fim;
fim.
Instale este controle. Crie um novo projeto.
Arraste um controle TSParent na página Exemplos. Você diria que este não é um controle TEdit?
Se você olhar novamente, ele possui um atributo Parent adicional. Isso é incrível, seu contêiner pode ser personalizado à vontade durante o design e pode ser usado como contêiner independentemente de outros controles terem atributos de contêiner ou não. TPanel, TEdit, TMemo é como um demônio que existe em todos os lugares.
Este controle tem duas desvantagens. 1) O formulário não pode ser listado na lista de atributos Pai. Por quê? Pense nisso você mesmo. 2) A lista de propriedades Parent pode realmente listar seus próprios controles.
Mas é fácil resolver isso. Basta criar você mesmo um editor de propriedades.