Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Добавление объекта на чужую форму [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 не очень, =(
Нельзя-ли поподробнее


Наверх

Титульная страница Поиск, карта сайта Написать письмо