crossplatform.ru

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


  Ответ в SystemTrayIcon координаты.
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
ernie Дата 13.9.2010, 13:10
  Алексей1153,спасибо за советы,разобрался,не в том месте просто вызывал geometry :)
Алексей1153 Дата 11.9.2010, 7:56
  у меня нормально возвращает. Но только это прямоугольник иконка, а не лотка. Может, ты иконку не отобразил ?

А как прямоугольник самого лотка достать, только для винды знаю -
Раскрывающийся текст
HWND hShell_TrayWnd=::FindWindow("Shell_TrayWnd",0);//таскбар
if(hShell_TrayWnd && hShell_TrayWnd!=(HWND)-1)
{
    HWND hTrayNotifyWnd=::FindWindowEx(hShell_TrayWnd,0,"TrayNotifyWnd",0);//лоток с часами и иконками вместе
    if(hTrayNotifyWnd && hTrayNotifyWnd!=(HWND)-1)
    {
        HWND hSysPager=::FindWindowEx(hTrayNotifyWnd,0,"SysPager",0);//родитель части лотка с иконками
        if(hSysPager && hSysPager!=(HWND)-1)
        {
            HWND hToolBarWindow32=::FindWindowEx(hSysPager,0,"ToolBarWindow32",0);//сам лоток с иконками

            if(hToolBarWindow32 && hToolBarWindow32!=(HWND)-1)
            {
                RECT r;
                GetWindowRect(hToolBarWindow32,&r);
            }
        }
    }
}


я сейчас попытался как-то так сделать
    QRect rIcon=m_TrayIcon->geometry();
    
    QWidget* syspager=QDesktopWidget().childAt(rIcon.center());
    
    QRect rSyspager=syspager->geometry();


но syspager==0 ...
Возможно, в этом направлении покопать стоит
ernie Дата 11.9.2010, 2:58
  Алексей1153, я видел этот метод,но он почему-то всегда нули мне возвращает,вне зависимости от нахождения панели
Алексей1153 Дата 10.9.2010, 12:48
 
Цитата
QRect QSystemTrayIcon::geometry () const
Returns the geometry of the system tray icon in screen coordinates.

This function was introduced in Qt 4.3.

See also visible.
ernie Дата 10.9.2010, 12:16
  Доброго времени суток господа.
Встал такой вопрос,как определить местоположение системной панели(или трея),т.е. справа,слева,вверху или внизу экрана она находится?а так же отрисовывать свой виджет рядом с ней.Заранее спасибо.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 17.11.2019, 22:52