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

Вниз

Подключение визуального компонента к программе на WinAPI   Найти похожие ветки 

 
Tenrai   (2003-04-29 04:48) [0]

Доброго времени суток! Пишу прогу на апи, необходимо подключить к проекту единственный визуальный компонент (к примеру, TWebBrowser) как это сделать и возможно ли это, не подключая всю VCL?


 
Крот   (2003-04-29 06:17) [1]

Вместе с модулем SHDocVw.pas(там TWebBrowser) подключится изрядный кусок VCL. Правда, по-моему, "положить" TWebBrowser на окно на чистом API не получиться. В принципе, можно написать OLE-контейнер "руками", реализовав все необходимые интерфейсы, и внедрить туда WebBrowser, но это удовольствие так себе - ниже среднего.

P.S. Вообще, не очень понятно, зачем понадобилось писать программу на чистом API.


 
Anatoly Podgoretsky   (2003-04-29 09:02) [2]

Ну какой же чистый АПИ, если в нем используется VCL


 
Digitman   (2003-04-29 10:08) [3]


> Tenrai


выноси компонент в DLL

таким образом будут "и волки сыты и овцы целы" : проект хост-приложения останется "на чистом API", но при этом будет иметь возможность воспользоваться в нужный момент времени преимуществами VCL-компонента, который будет фигурировать в отдельном библиотечном проекте

минимум, что потребуется - обеспечить передачу в нужные DLL-вызовы параметром хэндл некоего окна хост-приложения, которое будет родительским для создаваемого в теле DLL дочернего окна, ассоциированного с TWebBrowser в контексте TWinControl


 
Tenrai   (2003-04-29 11:31) [4]


> выноси компонент в DLL

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


 
Digitman   (2003-04-29 12:05) [5]


> ничего кроме функций я в ДЛЛ не выносил


вот в теле одной из "вынесенных" ф-ций и создавай компонент

MyWebBrowser := TWebBrowser.Create(nil);
MyWebBrowser.ParentWindow := переданный_параметром_хэндл_родительского_окна


 
Tenrai   (2003-04-30 03:48) [6]

Большое спасибо, после полутора часов бдения мне это удалось :о)))


 
nikkie   (2003-04-30 13:05) [7]

Непонятно только зачем тогда было мучиться. Писал бы уж все на VCL...

Как написал Крот, совсем на API это сделать можно было только написав собственный OLEContainer, а это занятие не для слабых духом. Зато написав один раз, можно было бы использовать для любых ActiveX контролей.


 
Tenrai   (2003-05-01 05:46) [8]


> Непонятно только зачем тогда было мучиться

в том то и дело, что те 200 кб, в которые втиснут VCL, мне совсем не нужны :о)) и потому у мня прога занимает не больше 200 кб, а вместе с длл - около 40 кб :о)) ради того и старался :о))


 
nikkie   (2003-05-01 13:55) [9]

какие-то странные цифры ты приводишь. я так думаю, ты нолик не в то место поставил. скорее всего, программа твоя занимает 20Kb, а вместе с dll - 400Kb. dll-то результате прицепила к себе vcl...



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

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

Наверх





Память: 0.46 MB
Время: 0.007 c
7-7730
Piero
2003-04-07 10:25
2003.07.03
Как закрыть чужой exe-шник из своей проги


8-7559
programmer_kia
2003-03-11 15:49
2003.07.03
конвертирование bitmap из RGB24 в YUY2(YUV422)...help


3-7326
supersan
2003-06-09 12:38
2003.07.03
Глюк с DBGridEh? Или со мной что-то не то?


14-7601
XobBIT
2003-06-17 23:24
2003.07.03
Мастера подскажите аналог IIS или Apache


14-7622
UserName
2003-06-09 16:07
2003.07.03
А стоит ли?...





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