Форум: "Начинающим";
Текущий архив: 2010.08.29;
Скачать: [xml.tar.bz2];
ВнизОбработка событий компонента в Design Time Найти похожие ветки
← →
pest © (2010-06-04 14:36) [0]здравствуйте. ситуация такая:
создаю визуальный компонент, который состоит из панели и внутри панели лейбл. по клику на лейбл пишу код. в runtime все работает. но в designtime я не погу кликнуть на лейбл, потому что выделается весь компонент при клике. а хочется чтобы в designtime я мог кликнуть на лейбл и выполнился код обработчика онклик этого лейбла.
как этого можно добиться?
← →
Юрий Зотов © (2010-06-04 14:52) [1]> хочется чтобы в designtime я мог кликнуть на лейбл
Замените панель на фрейм.
> и выполнился код обработчика онклик этого лейбла.
Как может выполниться еще не скомпилированный код?
← →
pest © (2010-06-04 15:01) [2]
> Как может выполниться еще не скомпилированный код?
например как выполняется код у PageController когда переключаешь табы.
грубо говоря я иммитирую PageController. у меня будет 2 лейбла на панели. и я хочу кликать на них и чтобы менялись мои табы.
← →
Медвежонок Пятачок © (2010-06-04 15:04) [3]код пейджконтрола скомпилен много лет назад и лежит в пакете.
а твой код обработчика лежит в пасах несобранного проекта
← →
pest © (2010-06-04 15:08) [4]2Медвежонок Пятачок
и чем же мне это поможет? теперь получается что сделав свой такой полупейдж контроллер я не смогу давать возможность разработчику переключаться между табами в designtime?
← →
Медвежонок Пятачок © (2010-06-04 15:11) [5]код пейджконтрола, который создает и переключает вкладки скомпилен много лет назад и лежит в двоичном виде в пакетах.
твой код обработчика онклик нигде не лежит кроме паса. его вообще нет
догоняешь?
← →
pest © (2010-06-04 15:18) [6]2Медвежонок Пятачок
бесполезную информацию вы мне даете! я спрашиваю как можно хоть чтото сделать. есть же какие то методы типаprocedure TPageControl.CMDesignHitTest(var Message: TCMDesignHitTest);
можно же сделать возможность переключения между табами через объектный инсперкор в designtime или чтото другое можно сделать... но не опускать же руки. я сам вожусь и пытаюсь реализовать наиболее удобный вариант, просто не совсем получается. вот и решил спросить у знатоков
← →
Медвежонок Пятачок © (2010-06-04 15:20) [7]код пейджконтрола, который создает и переключает вкладки скомпилен много лет назад и лежит в двоичном виде в пакетах.
этот код доступен в иде и благополучно работает.
← →
pest © (2010-06-04 15:24) [8]Медвежонок Пятачок
я рад за этот код. и рад что он работает. давайте опустим эту замечательную историю про пейджконтроллер. как можно мне реализовать мою идею не прибегая к "скомпилированному" коду в виде "паетов"??
← →
Медвежонок Пятачок © (2010-06-04 15:25) [9]никак. потому что уже было сказано, что код которого нет невозможно выполнить
← →
turbouser © (2010-06-04 15:26) [10]
> pest © (04.06.10 15:24) [8]
Для этого и существуют design-time packages.
> реализовать мою идею не прибегая к "скомпилированному" коду
> в виде "паетов"??
нельзя.
← →
pest © (2010-06-04 15:54) [11]2turbouser
а как создавать design-time package? я работаю на delphi2009 и там создаю обычный компонент. намного ли это сложнее чем создание обычного компонента? потому что возиться особо не буду и сделаю переключение табов через инспектор
← →
Германн © (2010-06-04 16:20) [12]
> а как создавать design-time package?
File->New->Package
Packages-Options-designtime
← →
_Юрий © (2010-06-05 09:57) [13]
> pest © (04.06.10 15:54) [11]
Надо код этого компонента включить в новый package, добавить регистрацию, и потом этот package инсталлировать в IDE
Тогда твой компонент появится на палитре компонентов, его можно будет кинуть на форму, и тогда вот тот код, который сидит на онклик лейбла, будет выполняться
← →
pest © (2010-06-07 09:46) [14]2_Юрий
собственно говоря я так и делаю. создал новый package в котором написалRegisterComponents("MyComponents, [TTest]);
и установил этот компонент. он есть в палитре и его можно кинуть на форму и онклик работает, но работает он только в рантайм. может быть "потом этот package инсталлировать в IDE" это чтото иное чем просто сделать компоненту install?
а вообще я просто создал проперти с помощью которого я переключаю табы в дизайнтайм через объектный инспектор
← →
_Юрий © (2010-06-07 18:49) [15]
> "потом этот package инсталлировать в IDE" это чтото иное
> чем просто сделать компоненту install?
Нет, не иное
Если компонент в палитре - значит пакет инсталлирован.
Что, в общем то, было понятно из [0].
Я было заподозрил это перед тем, как писать [13], но повелся на авторитетное мнение большинства, и решил, что сам неправильно понял вопрос.
Забавно
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.29;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.003 c