Главная страница
    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.042 c
1-1106194165
PZ
2005-01-20 07:09
2005.01.30
Рисовать текст с переносом строк


1-1105972236
DimonNew
2005-01-17 17:30
2005.01.30
RichEdit и таблицы


1-1105963397
Zloy
2005-01-17 15:03
2005.01.30
Как вызвать стандартный выбор каталога


4-1102520132
Тёмыч
2004-12-08 18:35
2005.01.30
ID устройства


1-1106078717
fru$t
2005-01-18 23:05
2005.01.30
Excel и Delphi





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