Название: Проблемы с HWND окна в WinXP Отправлено: cipher от Май 17, 2007, 14:20 День добрый!
Небольшая проблема при попытке получить HWND через QGLWidget::winId(). В дебугере получается вот так вот Код:
И в последствии не выходит получить Код:
QT version 4.1.4 в паре с MSVS 2005 Если кто знает подскажите пожалуйста в чём грабли, вроде на форуме полазил всё должно работать именно так, а оно не пашет. Почему не возвращается HWND? Название: Проблемы с HWND окна в WinXP Отправлено: J. Bond от Май 17, 2007, 14:56 HWND tmp=(HWND)GLWidget->winId(); ?
ну и кроме того есть еще непосредственно QGLWidget :: getDC(). Название: Проблемы с HWND окна в WinXP Отправлено: cipher от Май 17, 2007, 15:21 Приведение типов не спасет 8(( - HWND tmp=(HWND)GLWidget->winId()
Результат тот же. Блин как выковырять этот HWND из недр Widget'а? Название: Проблемы с HWND окна в WinXP Отправлено: J. Bond от Май 17, 2007, 15:30 Т.е. в дебаге так же вопросики?
Странно, у меня нормально вытащилось. а вот hdc не берется. Название: Проблемы с HWND окна в WinXP Отправлено: cipher от Май 17, 2007, 15:41 Пардон, счас попробывал простой проект, в нём всё вытаскивается, у меня же малость по другому. Как-то примерно вот так
Код:
Ну т.е. беру HWND ogl-окна и на его основе формирую HBITMAP внутрях другого класса добавлено спустя 2 минуты: Да при этом aopengl.h Код:
aopengl.cpp Код:
Т.е. я хочу сказать что parent ему передаётся как 0. Может здесь грабли? Название: Проблемы с HWND окна в WinXP Отправлено: J. Bond от Май 17, 2007, 15:43 А зачем это?
не проще ли реализовать граббинг glwidget через QT? Название: Проблемы с HWND окна в WinXP Отправлено: cipher от Май 17, 2007, 15:53 нет у меня задача сформировать простой виндовый HBITMAP с помощью WinAPI. А там надо юзать HDC и HWND. Я пишу часть кода заточенную под винду. Поэтому мне необходимо HWND какого-нить окошка. Блин ну HWND-то у него по любому есть, значит можно найти
добавлено спустя 1 минуту: так же как и контекст устройства должен быть, иначе как всё это рисуется Название: Проблемы с HWND окна в WinXP Отправлено: Вячеслав от Май 17, 2007, 18:44 Гы ;) А тупой вопрос - чего спай ++ кажет ?
Код:
хде dmy QWidget - не пойдет ? Кста - а как с помощью WinApi выдрать содержимое GL окна ? или gl/gl.h считаем тож до кучи winapi ? Название: Проблемы с HWND окна в WinXP Отправлено: Tonal от Май 17, 2007, 20:13 Сдаётся мне, что для GL там всё сильно сложнее.
А почему не сграбить виджет средствами Qt, а потом пикселы перекинуть в HBITMAP? Там довольно простое и разумное Api... Название: Проблемы с HWND окна в WinXP Отправлено: Вячеслав от Май 17, 2007, 21:46 Таки я к этому и вел ;) Насколько я помню тама (в окне) вообще нифига нет, а рисуеться оверлей сверху..... Хотя я могу и ошибаться 4 года прошло ....
Название: Проблемы с HWND окна в WinXP Отправлено: cipher от Май 21, 2007, 11:09 Всё решил используя ещё один API - QuickTime SDK. Всем спасибо за ответы
|