![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добавление объекта на чужую форму [D5]
DeMoN-777 © (2002-04-09 03:52:00)Уважаемые мастера очень прошу вас ответить на следующий ряд вопросов:
1: Как из моей программы добавить в другое приложение items в mainmenu ?
2: Присвоить процедуру к добавленному item-у ?
3: Чтобы после закрытия приложения к которому мы добавили меню
всё нами проделанное сохранилось?
Digitman (2002-04-09 17:00:00) [1]>Fellomena
>>P.S.
Ну, эт ты напра-а-а-сно) ... дополнил просто, как мне показалось, наиболее ярким и наглядным примером ... что, не стоило ?
Fellomena (2002-04-09 15:37:00) [2]2 Digitman © (09.04.02 13:35):
ну это я так... просто... подумала =)
P.S.
ворчун :)
[MC]NuClon (2002-04-09 15:27:00) [3]1)Можно, ищешь окно, получаешь дискриптор, по нему меню...
2)Сообщения будут приходить хозяину меню, так что максимум что можно сделать, это несколько одинаковых функциональных пунктов.
3)А ты когда-нибудь делал программу чтобы она сохраняла своё меню? Эти вещи делаются с расчётом на readonly. Единственное-это лезть в ресурсы.
Alx2 (2002-04-09 14:29:00) [4]>Digitman © (09.04.02 14:01)
Просто наводка, если уж совсем приспичит. :)
Digitman (2002-04-09 14:01:00) [5]>Alx2
Ты это всерьез человеку советуешь ?) не взирая на уровень его знаний и подготовки ?) Судя по вопросу ?)
Alx2 (2002-04-09 13:42:00) [6]>2: Присвоить процедуру к добавленному item-у ?
Лезть в адресное пространство чужого процесса (внедрить DLL, например)
>3: Чтобы после закрытия приложения к которому мы добавили меню
всё нами проделанное сохранилось?
Править таблицу импорта или подменять используемые приложением DLL на свои с эквивалентным экспортом.
Digitman (2002-04-09 13:35:00) [7]>Fellomena
Хм ...Ну, туда же до кучи еще и "мелкомягкое" творчество добавить можно, а-ля VBA for .. Даже более наглядный случай...
Суть-то одна - приложение, в котором автор хочет попытаться что-то свое "наворотить", само дает ему "вожжи в руки" - вот, мол, тебе интерфейс, вот описание - как, чего, куда и зачем "наворачивать" можно, не "парься" - все уже готово для доведения благой мысли до абсурда))))))
Fellomena (2002-04-09 13:16:00) [8]Хм... я тут подумала-подумала...
subj возможен, но это как часный случай:
если эта прога, в которую надо вставлять некие визуальные объекты является сервером автомотизации и предоставляет соответствующий интерфейс, или поддерживается скриптовый язык.
Яркий пример тому - AutoCad в котором можно добавлять свои меню и подменю к общему.
DeMoN-777 (2002-04-09 10:53:00) [9]Спасибе ещё раз.
Вопрос закрыт.
Digitman (2002-04-09 10:05:00) [10]>DeMoN-777
Делфи самостоятельно формирует меню Help, используя подсистему OpenHelp. Задача же инсталляторов таких компонентов - отнюдь не коррекция меню, а модификация файлов (со ссылочной информацией о контексте и индексах вновь добавляемой к подсистеме справочной инф-ции разработчика компонента), обеспечивающих работу и расширяемость подсистемы OpenHelp, спецификация которой совершенно открыты для программиста и пользователя.
DeMoN-777 (2002-04-09 09:05:00) [11]
Digitman спасибо за ответ, но как тогда например добовляется в меню delphi item help-a после установки некоторых компонентов ?
Digitman (2002-04-09 08:55:00) [12]В общем случае - никак.
В частном случае задачи в вопросах №1,3 имеет некоторое ограниченное решение, если описатель меню хранится в ресурсах целевого приложения, а не строится динамически.
Задача в вопросе №2 имеет лишь теоретическое решение. Решить ее практически без уверенных знаний как минимум ассемблера, а также структуры и механизма компановки/загрузки исполняемых файлов тебе не удастся.
DeMoN-777 (2002-04-09 05:58:00) [13]Люди я в API не очень, =(
Нельзя-ли поподробнее