Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
10-1166182665
CRA5H
2006-12-15 14:37
2010.08.29
Как вызвать JavaScript функцию из Delphi?


15-1275984221
SP
2010-06-08 12:03
2010.08.29
Подскажите ПО реализующее стабильный VPN-клиент (PPTP)


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


2-1275926869
akosh12345
2010-06-07 20:07
2010.08.29
Копирование с индикатором процесса


2-1275807557
akosh12345
2010-06-06 10:59
2010.08.29
Прорисовка в ListView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский