Вопрос

Я хотел бы создать собственный «модуль данных» в Delphi, класс типа TDataModule (возможно, унаследованный), который будет иметь собственный интерфейс проектирования на основе сетки (один компонент в строке, некоторые свойства в виде столбцов).Это возможно?С чего мне начать?

Сейчас я использую Delphi 2007.

Это было полезно?

Решение

Как указывает Ник Ходжес:

Рисование модуля данных в Delphi

было бы сложно рисовать на потомке TDataModule.Вероятно, это не невозможно, но точно не стоит заморачиваться.

Я бы рассмотрел возможность разработки совершенно нового TDataModule с нуля, чтобы у вас был полный контроль над ним.Конечно, работы будет много, но в конце концов она окупится.

Вы можете найти класс TDataModule в модуле Classes.pas.Но это всего лишь часть кода во время выполнения.Остальные части связаны с IDE.Вы можете найти модули, связанные с ToolsAPI, например, в «c:\Program Files\Borland\BDS\4.0\source oolsAPI\" для BDS 2006.Вы также можете получить свой собственный модуль данных из TDataModule и зарегистрировать его с помощью RegisterCustomModule (DesignIntf.pas).Я мало что знаю по этому вопросу, возможно, другие знают.Как я уже сказал, сделать что-то подобное будет непросто.Но возможно, с помощью этой первоначальной информации вы сможете найти то, что хотите.

Другие советы

Возможно, это возможно.Пример конструктора XML-фреймов можно найти на странице Новые строительные блоки IDE.Ну, этот пример предназначен для Delphi 5, но он может быть хорошей отправной точкой.

Это невозможно именно так, как вы это описываете.Вы не можете разместить визуальные компоненты, такие как сетка, в модуле данных.Для этого вам понадобится форма или рамка.

Если бы мне пришлось попытаться сделать что-то вроде того, что вы описываете, я бы использовал поле списка для хранения списка отдельных компонентов, пару кнопок и диалоговое окно выбора для добавления и удаления компонентов из списка, а также компонент TJvInspector. из JVCL для изменения свойств.Это было бы намного проще, чем пытаться создать универсальную сетку, подходящую для всех ситуаций.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top