crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> FlashWindow в Linux, аналог WinAPI
whyt
  опции профиля:
сообщение 4.8.2009, 13:40
Сообщение #1


Студент
*

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

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




Репутация:   1  


Всем привет! В данный момент работаю над Qt-шным приложением, в котором используется функция FlashWindow из WinAPI. Что WinAPI не существует в иксах - это ясно, и возник у меня вопрос, а какая эквивалентная функция там есть?
Заранее благодарю за помощь!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.8.2009, 14:03
Сообщение #2


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

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

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




Репутация:   94  


whyt, а что она делает эта функция?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
whyt
  опции профиля:
сообщение 4.8.2009, 14:08
Сообщение #3


Студент
*

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

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




Репутация:   1  


api-функция flashwindow предназначена для создания окна с мигающим заголовком. Эта функция используется, если необходимо, чтобы пользователь обратил внимание на некоторе окно, которое, как правило, не становится при этом активным. ©
В общем, инвертируется состояние окна, а передаются в эту функцию два параметра HWND (указатель на окно) и true/false - режим "мигания"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 4.8.2009, 16:03
Сообщение #4


Старейший участник
****

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

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




Репутация:   9  


Это не подойдет?
Цитата
void QApplication::alert ( QWidget * widget, int msec = 0 ) [static]
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
whyt
  опции профиля:
сообщение 4.8.2009, 20:24
Сообщение #5


Студент
*

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

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




Репутация:   1  


попробовал вот таким образом применить
   
if (NeedFlash) QApplication::alert(QApplication::activeWindow(),0);

где NeedFlash : boolean..эффекта никакого..
я что-то не так сделал?

зы. есть еще у кого мысли какие?

Сообщение отредактировал whyt - 4.8.2009, 20:24
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
MoPDoBoPoT
  опции профиля:
сообщение 4.8.2009, 21:21
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 172
Регистрация: 7.5.2009
Из: Москва
Пользователь №: 738

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




Репутация:   9  


Цитата(whyt @ 4.8.2009, 21:24) *
я что-то не так сделал?

Именно...
Первое же предложение из ассистента говорит, что работает, если окно неактивно
Цитата
Causes an alert to be shown for widget if the window is not the active window.

А ты делаешь так:
QApplication::alert(QApplication::activeWindow(),0);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
whyt
  опции профиля:
сообщение 4.8.2009, 21:33
Сообщение #7


Студент
*

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

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




Репутация:   1  


каюсь, поторопился и недочитал асситента..
другое дело, что мне нужен эффект вне зависимости от состояния окна, чтобы обратить внимание оператора..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.8.2009, 5:27
Сообщение #8


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

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

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




Репутация:   94  


whyt, ну, коль ты хотел платформо-зависимо изначально делать. То имеет смысл глянуть исходник Qt и посмотреть как это реализовано. Хотя бы узнаешь в какую сторону капать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 29.11.2024, 16:24