Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.039 c
11-1089101164
Nox
2004-07-06 12:06
2005.01.30
KOLEdb: работа с несколькими таблицами


1-1105968878
WhiteGuy
2005-01-17 16:34
2005.01.30
Остановка проверки на идентичность


3-1103799535
_student
2004-12-23 13:58
2005.01.30
Вывод картинок из .mdb


14-1105516116
Anonimus
2005-01-12 10:48
2005.01.30
Windows XP home


1-1105818231
Dmitry_04
2005-01-15 22:43
2005.01.30
Как лучше хранить настройки программы?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский