crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Эффект прилипания окна к краям экрана
niXman
  опции профиля:
сообщение 11.8.2008, 2:33
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


Доброй ночи.
Подскажите плиз, как реализовать эффект прилипания окна к краям экрана.
Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.8.2008, 3:34
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Вопрос видимо навеян работой в KDE :)
Я думаю надо переопределять событие мыши для главного/дочернего окна, размеры экрана знаешь (QDesktopWidget::availableGeometry) задайся неким бордюром отстоящим от края экрана на некую величину, а в событии перемещения мыши проверяй:
ЕСЛИ край окна попал в бордюр ТО
ЕСЛИ направление движения к краю экрана ТО
  Меняем координаты окна, чтоб прилипнуть


P.S. разумеется надо учесть и размер перемещаемого окна, т.е. знать его размер и координаты его краев
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 11.8.2008, 13:29
Сообщение #3


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


очень советую посмотреть здесь
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
niXman
  опции профиля:
сообщение 11.8.2008, 15:09
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


void*, Спасибо, а еще что-то подобное есть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 11.8.2008, 15:15
Сообщение #5


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


niXman, а чем тебе того, что я привел не хватает?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
niXman
  опции профиля:
сообщение 11.8.2008, 15:34
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


void*, Нужно дорабатывать.
Например
Цитата
При перетаскивании окна вы не увидети прилипания, окно прилипнет когда его отпустить.
- даую возможно исправить.
И еще
Цитата
Но если окно
уже было прилеплено и вы чуть чуть оттащите его от границы окна, но не достаточно далеко, то оно не прилипнет снова.
- как-бы...поправимо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.8.2008, 17:31
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(niXman @ 11.8.2008, 19:34) *
как-бы...поправимо.

это и ненадо поправлять, пользователь захотел отлепить, но не тащить далеко!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 11.8.2008, 18:31
Сообщение #8


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


niXman, тебе дали собственно саму мысль, а алгоритм уже дорабатывай наверно сам :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
niXman
  опции профиля:
сообщение 11.8.2008, 20:59
Сообщение #9


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


void*, Точно. Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.8.2008, 21:04
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


niXman, Нажми ему "Спасибу" под полезным постом. теперь так можно раздавать "спсибы" :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.4.2024, 1:51