Pergunta

Eu gostaria de criar um personalizado "datamodule" em Delphi, um TDataModule como (talvez herdado) classe que teria uma grade personalizada com base design de interface (um componente por linha, algumas propriedades como colunas). Isso é possível? Onde devo começar?

Atualmente estou usando o Delphi 2007.

Foi útil?

Solução

Como Nick Hodges ponteiro aqui:

Desenho em uma DataModule em Delphi

seria difícil para pintar o descendente TDataModule. Não é impossível, provavelmente, mas não vale a pena, com certeza.

Gostaria de considerar a concepção de um completamente novo TDataModule a partir do zero, então você teria o controle completo sobre isso. Claro que um monte de trabalho, provavelmente, mas no final ele iria pagar.

Você pode encontrar classe TDataModule na unidade Classes.pas. Mas esta é apenas a parte de tempo de execução do código. Outras partes são IDE relacionados. Você pode encontrar unidades relacionadas com ToolsAPI em "c: \ Program Files \ Borland \ BDS \ 4.0 \ source \ ToolsAPI \" para BDS 2006, por exemplo. Você também pode derivar você módulo de dados própria de TDataModule e registrá-lo com RegisterCustomModule (DesignIntf.pas). Eu não sei muito mais sobre este assunto, talvez os outros fazem. Como eu disse que não seria fácil de fazer algo parecido. Mas talvez com esta informação inicial que você pode encontrar o que deseja.

Outras dicas

Talvez seja possível. Um exemplo de um Designer Quadro XML pode ser encontrada na página New IDE Construção blocos . Bem, este exemplo é para Delphi 5, mas pode ser um ponto de partida bom.

Não é possível exatamente como você descrevê-lo. Você não pode colocar componentes visuais como uma grade em um módulo de dados. Você precisa de uma forma ou estrutura para isso.

Se eu fosse fazer tentar algo como você está descrevendo, eu usaria uma caixa de listagem para manter uma lista de componentes individuais, um par de botões e uma caixa de diálogo de seleção para adicionar e excluir componentes da lista, e o componente TJvInspector do JVCL para modificar as propriedades. Isso seria muito mais fácil do que tentar fazer um one-size-fits-all grade para lidar com a situação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top