crossplatform.ru

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


  Ответ в Как узнать ширину панели задач (taskbar)?
Введите ваше имя
Подтвердите код

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

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


Последние 10 сообщений [ в обратном порядке ]
Rocky Дата 25.11.2010, 18:49
  Угу, FindWindow, потом коллбэк для EnumWindows =) Давненько...

Я уже сделал как сказал BRE через availableGeometry. Все работает... в обоих ОС, уже проверил)
kwisp Дата 25.11.2010, 18:28
  Гость_Andrey_*,
обрати внимание на название раздела и подраздела где находится данная тема.
при чем тут HWND ?
речь идет о Qt.

Andrey Дата 25.11.2010, 17:54
  Речь идет о винде я так понимаю. То тогда можно так
Находим HWND taskbar

hTaskBar= FindWindow("Shell_TrayWnd",NULL);

дальше для полученого HWND делаем

RECT r
GetWindowRect(hTaskBar,r);

полученный rect будет содержать позицию и размер окна (те таскбара)

The GetWindowRect function retrieves the dimensions of the bounding rectangle of the specified window. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen.
BRE Дата 25.11.2010, 11:01
  Тут нужно учитывать такой момент, что taskbar может располагаться не только внизу экрана, на других DE может быть много разных панелей прикрепленных к разным краям экрана.

А так решение в лоб.
Посмотри на:
const QRect QDesktopWidget::availableGeometry ( int screen = -1 ) const
const QRect QDesktopWidget::screenGeometry ( int screen = -1 ) const
Rocky Дата 25.11.2010, 10:42
  Кто-нибудь знает? Нужно просто позиционировать диалоговое окно в самом низу экрана, но так чтобы оно не уходило под taskbar.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 12:21