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

Вниз

Окно в ДЛЛ.   Найти похожие ветки 

 
Japp   (2004-12-08 14:25) [0]

Есть DLL со своим окном и потоком обработки GetMessage/DispathMessage.
Окно отображается после загрузки ДЛЛ-ки и висит отдельно от главного окна. Есть ли способ заставить это окно отрисовываться внутри (в какой-нить части) главного окна? Примерно как это делается в COM-технологии (но без использования оной).Нехочется переносить код из ДЛЛ внутрь основной проги...


 
Digitman ©   (2004-12-08 14:53) [1]

просто сделай создаваемое в ДЛЛ окно дочерним по отношению к "главному окну"


> Примерно как это делается в COM-технологии


что-то не припомню, чтобы COM-технология имела прямое отношение к манипуляции окнами .. у COM-технологии - иные задачи


 
Japp   (2004-12-08 15:16) [2]

Я имел ввиду внешние проявления - например отображение Ворда
внутри своего окна, но может я ошибаюсь ... :)


 
Leonid Troyanovsky   (2004-12-08 15:34) [3]


> Japp   (08.12.04 14:25)  
> Нехочется переносить код из ДЛЛ внутрь основной проги...


Т.е., он туда (в ДЛЛ) попал по злому умыслу?
Мои сочувствия.
Однако, чем быстрее ты вернешь его взад,
тем мягче и шелковистее будут твои волосы.

--
С уважением, LVT.


 
Japp   (2004-12-08 15:49) [4]

>Leonid Troyanovsky   (08.12.04 15:34) [3]
>Т.е., он туда (в ДЛЛ) попал по злому умыслу?

Программирование это вообще метод внесения ошибок :)
Но умысел как раз добрый - вынести часть интерфейса в подключаемую ДЛЛ-ку

>Однако, чем быстрее ты вернешь его взад,
>тем мягче и шелковистее будут твои волосы.
Зачем в заду волосы? :)


 
Leonid Troyanovsky   (2004-12-08 16:04) [5]


> Japp   (08.12.04 15:49) [4]

> >Т.е., он туда (в ДЛЛ) попал по злому умыслу?
>
> Программирование это вообще метод внесения ошибок :)
> Но умысел как раз добрый - вынести часть интерфейса в подключаемую
> ДЛЛ-ку


Благими намерениями знаешь, что умощено ?
Не надо выносить ничего в dll, и особенно интерфейс,
если это, конечно, не ActiveX или другой COM.


> >Однако, чем быстрее ты вернешь его взад,
> >тем мягче и шелковистее будут твои волосы.
> Зачем в заду волосы? :)


Не, волосы будут на голове, а вот возвращать надо взад.
Вот такая интересная связь.

--
С уважением, LVT.


 
Japp   (2004-12-08 16:22) [6]

2LVT: А это форум? Или советы дерматолога?
Кого и кому совать я как нибудь разберусь...
На все есть свои причины...
А не можешь на вопрос ответить - не флуди.


 
Leonid Troyanovsky   (2004-12-08 17:01) [7]


> Japp   (08.12.04 16:22) [6]
> 2LVT: А это форум? Или советы дерматолога?
> Кого и кому совать я как нибудь разберусь...
> На все есть свои причины...
> А не можешь на вопрос ответить - не флуди.


Кто здесь флудит это модераторово дело.
Могу - не могу - это мое личное дело.
Причин Ваших я не знаю (да и уж не хочу знать),
достаточно печальных следствий.

Ну, а нет нужды в советах - не читайте (мои особенно).

--
С уважением, LVT.


 
Digitman ©   (2004-12-08 17:08) [8]


> Japp


ну тебе же правильно говорят - ДЛЛ не для этого предназначены !

есть же вполне определенные (достаточные и необходимые) условия, являющиеся поводом для реализации части прикладного кода в динамически загружаемой библиотеке

у тебя-то что за повод был ? можешь вразумительно и аргументированно разъяснить ?


 
Japp   (2004-12-08 18:27) [9]

А повод простой - кусок кода заключающий в себе протокол обмена с устройством, очень удобно связывается с визуальной отладочной формой. Все отлажено и устойчиво работает в виде ДЛЛ и доп. формы. Просто заказчик мечтает, что у него будет одна форма с множеством закладок... Эта же ДЛЛ-ка идет как драйвер к устройству. Но это все ерунда - мне интересен сам момент
отрисовки окна имеющей собственный тред в окне другого треда
в одном и том же процессе.


 
Slym ©   (2004-12-09 05:25) [10]

Демагоги... Можно все! Но как?
Смотрив сторону CreateWindow(... hWndParent)
SetParent(hWndChild,hWndNewParent);

И посмотри в сторону скринсеверов... они отображают превью в настройках экрана


 
Digitman ©   (2004-12-09 08:30) [11]


> Japp   (08.12.04 18:27) [9]


вот теперь кое-что проясняется.
непонятно только, зачем возникла необходимость создания окна в ДЛЛ в другом трэде, а не в трэде, вызывающем ф-цию ДЛЛ, в которой это окно создается

я бы оформил все это в ДЛЛ виде ActiveX-контрола, со встраиванием которого куда бы то ни было в виде "дочернего окна" нет никаких проблем - хоть в Делфи-форму, хоть в окно документа MS Word ..


 
Japp   (2004-12-09 10:46) [12]

Сенкс... уже смотрю...



Страницы: 1 вся ветка

Текущий архив: 2005.01.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
1-1106125969
Ega23
2005-01-19 12:12
2005.01.30
Выполнится ли Beep ?


1-1105633489
The X
2005-01-13 19:24
2005.01.30
Как экспортировать данные в HTML?


4-1102961158
Bes
2004-12-13 21:05
2005.01.30
Оповещение основной программы о выгрузке DLL...


1-1105953088
koshak
2005-01-17 12:11
2005.01.30
Что-то вроде InnoSetup


14-1105435700
Ozone
2005-01-11 12:28
2005.01.30
Как узнать модель телефона.