Как узнать ширину панели задач (taskbar)? |
Здравствуйте, гость ( Вход | Регистрация )
Как узнать ширину панели задач (taskbar)? |
Rocky |
25.11.2010, 10:42
Сообщение
#1
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
Кто-нибудь знает? Нужно просто позиционировать диалоговое окно в самом низу экрана, но так чтобы оно не уходило под taskbar.
|
|
|
BRE |
25.11.2010, 11:01
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Тут нужно учитывать такой момент, что taskbar может располагаться не только внизу экрана, на других DE может быть много разных панелей прикрепленных к разным краям экрана.
А так решение в лоб. Посмотри на: const QRect QDesktopWidget::availableGeometry ( int screen = -1 ) const const QRect QDesktopWidget::screenGeometry ( int screen = -1 ) const |
|
|
Гость_Andrey_* |
25.11.2010, 17:54
Сообщение
#3
|
Гости |
Речь идет о винде я так понимаю. То тогда можно так
Находим 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. |
|
|
kwisp |
25.11.2010, 18:28
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Гость_Andrey_*,
обрати внимание на название раздела и подраздела где находится данная тема. при чем тут HWND ? речь идет о Qt. |
|
|
Rocky |
25.11.2010, 18:49
Сообщение
#5
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
Угу, FindWindow, потом коллбэк для EnumWindows =) Давненько...
Я уже сделал как сказал BRE через availableGeometry. Все работает... в обоих ОС, уже проверил) |
|
|
Текстовая версия | Сейчас: 29.3.2024, 16:45 |