Вопрос № 154777: Здравствуйте, уважаемые эксперты! Подскажите способ, как можно динамически создавать компоненты на форме из-под динамической библиотеки. То есть я хочу написать плагин; если мы его подгружаем, то на форме появляются соответствующие компоненты, кот...
Вопрос № 154.777
Здравствуйте, уважаемые эксперты! Подскажите способ, как можно динамически создавать компоненты на форме из-под динамической библиотеки. То есть я хочу написать плагин; если мы его подгружаем, то на форме появляются соответствующие компоненты, которые будут создаваться по усмотрению плагина. Соответственно, весь функционал с создавшимися компонентами будет находиться в этой библиотеке.
Отправлен: 17.12.2008, 22:31
Вопрос задал: Userx3 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Del
Здравствуйте, Userx3!
Насчет обработки - с размаху не подскажу (только примерно). В целом по вопросу:
1. Создание контролов (если я правильно понял вопрос - тебе нужны именно контролы, а не компоненты) на форме: в DLL в функции, которая будет создавать контролы, добавь входной параметр - хэндл, в который ты будет передавать, к примеру, Form1.Handle. Затем делай так:
SetParent(хэндл_созданного_контрола, хэндл_формы)
Звиняй, делфя не запущена, так что не подскажу, как оно делается средствами
делфи (там такое есть, на самом деле).
2. По обработке событий контрола есть два соображения. а) передавать в DLL адрес обработчика (не уверен, что прокатит) б) в качестве результата работы функции - отдавать созданный контрол, и дальше - присваивай ему всякие OnClick и прочее. Это если ты хочешь в exe написать обработчики. А если в DLL - ну, обратно, на вскидку не скажу. Пиши в мыло - подумаю (счас уже как-то спать хочется)
--------- Только массовые расстрелы спасут Родину!
Ответ отправил: Del (статус: 3-й класс)
Ответ отправлен: 19.12.2008, 01:30
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 239017 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.