Форум: "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