Ajuda para criar propriedades com TCollection

03/05/2020

5

Olá! Preciso clicar em uma propriedade do meu componente, onde listo os Campos de um DataSet, o usuário escolhe o Campo e altera o título. Em um TComboBox, os Campos serão listados e, se o usuário tiver atribuído títulos, eles serão listados em vez dos Campos.

"No FieldName, os campos do DataSet devem estar listados e no título, o nome que o usuário deseja que seja exibido no TComboBox em vez do campo.
E no evento OnChange do TComboBox, para saber qual FieldName foi selecionado por meio do título "

Imagem anexada ilustrando como eu quero fazer:

https://uploaddeimagens.com.br/imagens/zCKCZpA
Responder

Posts

Não é algo trivial, mas também nada complicado. você tem que fazer referência as livrarias em tempo de design do Delphi.

As principais são: DesignIntf, DesignEditors, VCLEditors, DesignMenus que vai de acordo com que se quer implementar.

Lembre-se que a unit que implementa o editor não pode ficar junto da unit de suas classes e objetos.

Alguns links úteis abaixo:

Delphi - Populate Property editor dropdown with list?
https://stackoverflow.com/questions/43545441/delphi-populate-property-editor-dropdown-with-list

Delphi Property and Component Editors
http://www.drbob42.com/delphi/property.htm

Adding property editors
https://www.delphipower.xyz/components/adding_property_editors.html

Creating custom TSetProperty property editor
https://stackoverflow.com/questions/22939016/creating-custom-tsetproperty-property-editor

Delphi: browsing components inside a property editor
https://stackoverflow.com/questions/32525806/delphi-browsing-components-inside-a-property-editor

DesignIntf.TBasePropertyEditor
http://docwiki.embarcadero.com/Libraries/Rio/en/DesignIntf.TBasePropertyEditor

A Simple Property Editor
http://www.delphicorner.f9.co.uk/articles/comps1.htm

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar