Название: Встроить QWidget в родную форму Borland Builder ? Отправлено: slvno от Март 30, 2010, 22:56 Привет!
Интересует можно ли в форму в созданную в Borland Builder(е) - TForm встроить QWidget и производные от него классы? Нужно это чтобы не делать интерфейс в VCL Borland Builder. Не слишком ли будет это криво. Название: Re: Встроить QWidget в родную форму Borland Builder ? Отправлено: niXman от Март 30, 2010, 23:31 Цитировать чтобы не делать интерфейс в VCL Borland Builder. нафига тогда вообще использовать ВэЦээЛьную форму, и что-то в нее встраивать? ;)Название: Re: Встроить QWidget в родную форму Borland Builder ? Отправлено: alexman от Март 30, 2010, 23:37 Цитировать чтобы не делать интерфейс в VCL Borland Builder. нафига тогда вообще использовать ВэЦээЛьную форму, и что-то в нее встраивать? ;)Название: Re: Встроить QWidget в родную форму Borland Builder ? Отправлено: slvno от Март 31, 2010, 09:40 Основная программа написана Buildere 10 лет тому назад,
к ней подключаются dll-ки с нужными модулями с интерфейсом. Нет желания переделывать основную программу. По этому и возник такой вопрос. Название: Re: Встроить QWidget в родную форму Borland Builder ? Отправлено: _govorilka от Апрель 01, 2010, 06:10 Через WId QWidget::winId () const можно получить хендл окна (HWND). Дальше можно поковырять WinAPI... Там есть функции позволяющие заменить одно окно другим.
Еще можно попробовать использовать COM/ActiveX. Название: Re: Встроить QWidget в родную форму Borland Builder ? Отправлено: slvno от Апрель 02, 2010, 21:10 Через WId QWidget::winId () const можно получить хендл окна (HWND). Дальше можно поковырять WinAPI... Там есть функции позволяющие заменить одно окно другим... Спасибо знатоку за совет!Чегото я наверное делаю не так как требуется (с WinAPI и Builder С++ мало работал до этого) Вот этот код proc_set_widget(HWND parent_handle) выполняется в бильдере при создании контрола, parent_handle устанавливается равным .Handle контрола из бильдера но Qt - окошко не показывается на бильдеровском контроле, а исчезает в неизвестном направлении ;) Код:
Название: Re: Встроить QWidget в родную форму Borland Builder ? Отправлено: mal от Апрель 05, 2010, 20:12 Возможно Вам поможет это: посмотрите на qtwinmigrate. У тролей там все подробно расписано.
http://doc.trolltech.com/solutions/qtwinmigrate/winmigrate-walkthrough.html Я в аналогичной ситуации в свое время пошел по этому пути. Была задачка разместиться в окне, хендл которого дают на вход dll. Посмотрите на использование QWinWidget - чтоб разместить интерфейс свою кутовой dll в каком либо HWND - это то что нужно... Я сделал это так: 1. Породиться от QWinWidget, 2. Создать этот объект (пункт 1), дав ему в качестве парента хэндл внешнего окна (где вам надо разместиться) 3. Создать layout 4. Создать экземпляр своего главного окна 5. Разместить его в layout 6. Установить layout в win_widget пункта 1 7. Показать winwidget. Название: Re: Встроить QWidget в родную форму Borland Builder ? Отправлено: slvno от Апрель 06, 2010, 19:19 mal большое тебе спасибо! Очень помог!
QWinWidget - это то что нужно |