Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Создание DirectX не на все окно |
Автор: aam1go 3.11.2015, 16:05 |
Ребят, очень надеюсь на вашу помощь, хотелось бы узнать. Предположим у нас есть пустое окно на Winapi 800,600 , так вот, есть ли возможность, а я думаю есть, создать Directx Область размером в 400х400 на этом окне, чтобы остальное место занять элементами управления, т.е кнопочками и эдитами и прочим, как это сделано в редакторах карт и прочих в играх? Второй вопрос, можно ли сделать это в QT так, чтобы я мог создавать эти кнопки и раскидывать так как надо с помощью контруктора а не с помощью Winapi по координатам? Этот вопрос не требует ответа типа да и нет. Покажите пример, который можно применить, очень надеюсь на вашу помощь) |
Автор: Sajtran 4.11.2015, 18:16 |
а что мешает в этом окне создать ещё одно дочернее окно(панель) нужного размера? Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Sozdaniye-DirectX-ne-na-vse-okno-id5638b13aae201525448b4567#findElement_E7045_563a2165ae20150527f4f2e5_0 |
Автор: math64 7.12.2015, 14:26 | ||
Если Вы работаете в Qt - с ним идет несколько примеров с QGLWidget. Создаешь в QtCreator главное окно с формой, редактируешь элементы управления, предпочтительно в QDockWidget, а дальше заменяешь центральный виджет:
Также можно использовать qml. Там есть компонент Canvas3D |
Автор: Merlin_ua 15.10.2016, 16:51 |
А как насчет QT c Direct3D? |
Автор: Alexeis 15.10.2016, 17:17 |
winId() возвращает HWND главного окна. Для дочерних окон там сложнее. Изначально виджеты создаются без Windows окон. Есть только одно главное. Но технически Qt позволяет создавать окна и для других виджетов. Есть проект qtwinmigrate, который позволяет интегрировать Qt приложение с WinApi кодом и наоборот. Проект старый, но с 5м Qt работает корректно. |
Автор: KaldYn 29.10.2016, 11:02 | ||
т.е. с помощью qtwinmigrate точно получится, подобный вопрос тоже актуален. |
Автор: Alexeis 29.10.2016, 11:36 | ||
qtwinmigrate позволяет интергрировать WinApi окна в Qt приложении или же встраивать Qt Widget-ы в WinApi приложение (они это называют mfc приложение, но интеграция делается на уровне WinApi, от mfc зависимостей нет). Собственно для использования DirectX требуется привязка к Windows окну. |
Автор: Marcus22 22.8.2017, 14:19 |
Не работает обновление окна в С++ WinAPI |