Перейти к публикации

дескриптор главного окна


afl

Рекомендованные сообщения

задача: есть плагин (написан на Qt).

Чтоб его вызывать в качестве модального окна используется связка с QWinWidget (из QtWinMigration). для работы этой связки необходимо получить HWND окна, которое станет родительским для плагина.

функция UF_UI_get_default_parent ()

возвращает указатель который с использованием преобразования

void *parent = UF_UI_get_default_parent ()
HWND * hwnd = static_cast<HWND*>(parent);

является NULL (т.е. hwnd==NULL)

ЧЯДНТ?

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...


FIXED

все нормально работает, перепутал с прямым углом (каст к ошибочному типу).

ниже заготовка кода

std::shared_ptr<My_QT_Dialog>smartPtr_Dlg;

//

void *parent= UF_UI_get_default_parent ();

HWND hwnd = static_cast<HWND>(parent);

if (hwnd)

{

	std::shared_ptr<QWinWidget> tmp_win(new QWinWidget(hwnd));

	win_local.swap( tmp_win );

	//win_local.get()->showCentered();

	//

	std::shared_ptr<My_QT_Dialog> tmp_ptr(new My_QT_Dialog(win_local.get()));

	smartPtr_Dlg.swap( tmp_ptr );

	//...

	smartPtr_Dlg.get()->exec();

}
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.



×
×
  • Создать...