Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.29;
Скачать: CL | DM;

Вниз

Обработка событий компонента в 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.005 c
15-1275925390
Miau
2010-06-07 19:43
2010.08.29
SQL 2000 vs SQL 2008


15-1266842702
KilkennyCat
2010-02-22 15:45
2010.08.29
Административное предложение (McSimmу и всем)


2-1275885990
И. Павел
2010-06-07 08:46
2010.08.29
WM_COMMAND выполняется, но результат <> 0


3-1243931561
Александр
2009-06-02 12:32
2010.08.29
Объединение таблиц


10-1166182665
CRA5H
2006-12-15 14:37
2010.08.29
Как вызвать JavaScript функцию из Delphi?