22 Сентября 2024, 19:35:53
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Логика > Перемещаемое GUI
Перемещаемое GUI
(Прочитано 11766 раз)
  [1]
Печать
Alteste | *** | Постоялец | Сообщений: 224 | « 21 Июня 2010, 10:27:46 »
Перемещаемое GUI |
0
Как сделать блок с GUI перемещаемым при помощи мышки? Как обычное окно виндовс
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #1 21 Июня 2010, 14:42:29 »
Re: Перемещаемое GUI |
1
отслеживать когда произошел клик по прямоугольнику твоего окошка, далее изменять координаты твоего окошка в соответствиями с изменением координат мышки
как то так
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #2 21 Июня 2010, 14:53:20 »
Re: Перемещаемое GUI |
2
Alteste
Зеленым я пометил участок, где провожу проверку на то, что указатель мышки не находится на некоторых компонентах GUI.
* move_window.rar (450.68 Кб - загружено 1127 раз.)
Alteste | *** | Постоялец | Сообщений: 224 | «Ответ #3 27 Июня 2010, 14:36:24 »
Re: Перемещаемое GUI |
3
При использовании Win32 SetWindow - со всеми снятыми галочками окно проекта появляется чистое, без рамок и верхней панели. Как в самом квесте сделать свою панель, за которую можно было бы таскать мышкой окно проекта?
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #4 28 Июня 2010, 19:18:46 »
Re: Перемещаемое GUI |
4
никак, в самом квесте никак
можешь сделать свой ченел который будет отправлять твоему окну новые координаты и в квесте поместить всю логику по рисвоанию панельки и обработке клика по ней
ещё можеш написать такой ченел, который будет просто виндовыми средствами рисовать нужную тебе верхнюю панель
dfx | ** | Пользователь | Сообщений: 95 | «Ответ #5 10 Июля 2010, 14:32:02 »
Re: Перемещаемое GUI |
5
Цитировать
При использовании Win32 SetWindow - со всеми снятыми галочками окно проекта появляется чистое, без рамок и верхней панели. Как в самом квесте сделать свою панель, за которую можно было бы таскать мышкой окно проекта?

Цитировать
никак, в самом квесте никак

Что то мне подсказывает, что такое можно сделать.
Такой подход пробовали? -

Псевдокод:
Код:
onMouseDown
windowPosX = mouseScreenPosX-mouseViewPortPosX
mouseOffsetX = mouseScreenPosX
windowPosY = mouseScreenPosY-mouseViewPortPosY
mouseOffsetY = mouseScreenPosY
onMousePressed
SetWidowPos(
X = (mouseScreenPosX - mouseOffsetX)+windowPosX,
Y = (mouseScreenPosY - mouseOffsetY)+windowPosY)

Добавлено позже:

Попробовал, вроде работает.(см. вложенный файл)
* moveProjectWindow.cgr (22.52 Кб - загружено 1266 раз.)
« Последнее редактирование: 10 Июля 2010, 14:43:01 от dfx »
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #6 10 Июля 2010, 19:28:39 »
Re: Перемещаемое GUI |
6
dfx
Как это применять в реальном проекте, и есть ли в этом смысл?
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #7 10 Июля 2010, 21:46:26 »
Re: Перемещаемое GUI |
7
да, действительно можно, каюсь
чёто завтыкал что у канала СетВиндоу можно ещё и координаты окна передавать
dfx | ** | Пользователь | Сообщений: 95 | «Ответ #8 11 Июля 2010, 13:38:39 »
Re: Перемещаемое GUI |
8
to Ruslan.
Наверное есть ситуации, где это может понадобиться. Только почему этот вопрос адресован мне?
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #9 11 Июля 2010, 13:45:54 »
Re: Перемещаемое GUI |
9
dfx
Можете не отвечать, я предположил, что вы подскажете, где этот метод может быть полезен, раз вы его привели.
Вопрос в теме был:
Цитировать
Как сделать блок с GUI перемещаемым при помощи мышки? Как обычное окно виндовс
Вот я и спрашиваю, возможно ли при помощи описанного выше метода создать несколько окон, привязать к ним группы элементов ГУИ, и что бы можно было мышкой передвигать эти окна, вместе с элементами, в основном окне приложения?
« Последнее редактирование: 11 Июля 2010, 13:54:05 от Ruslan »
dfx | ** | Пользователь | Сообщений: 95 | «Ответ #10 11 Июля 2010, 18:34:35 »
Re: Перемещаемое GUI |
10
Руслан, это ответ на вопрос, где Alteste спросил, как перетаскивать окно проекта, если к нему применен стиль без рамок и заголовка. Я специально вывел цитаты, что бы было понятно. Улыбающийся Я думаю, что это может понадобиться, если нужен уникальный вид окна проекта. Я не исключаю таких ситуаций, но сам с ними не сталкивался. Будьте внимательнее, пожалуйста.
 
  [1]
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Логика > Перемещаемое GUI
Перейти в: