Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562

Как получить размеры экрана за вычетом панелей?

03.11.2014, 20:28. Показов 3505. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как получить размеры экрана за вычетом панелей?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2014, 20:28
Ответы с готовыми решениями:

Разрешение за вычетом панелей
Как определить?

Разрешение экрана с вычетом статус бара Android
Хочу в программе создать условие, чтобы в зависимости от разрешения экрана устройства, на котором запустилось приложение, активировалась...

Непонятные размеры фрейма и панелей
Всем привет. Возникла такая вот проблема: графические приложения пишу не давно, пользуюсь абсолютным позиционированием компонентов (до...

14
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
03.11.2014, 20:48
GetClientRect function
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
03.11.2014, 20:52  [ТС]
Так это же клиентская область окна?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
03.11.2014, 20:57
Каких-таких "панелей"?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
03.11.2014, 21:04  [ТС]
Например, таких:

.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
03.11.2014, 21:09
C++
1
2
3
4
5
6
7
8
#include <windows.h>
#include <iostream>
 
int main()
{
    std::cout << GetSystemMetrics( SM_CXSCREEN ) << std::endl;
    std::cout << GetSystemMetrics( SM_CYSCREEN ) << std::endl;
}
Без учёта "панелей"!
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.11.2014, 16:51  [ТС]
Так получается весь экран вместе с панелью.
0
 Аватар для behollder
47 / 28 / 12
Регистрация: 23.01.2013
Сообщений: 125
04.11.2014, 17:24
Цитата Сообщение от taras atavin Посмотреть сообщение
Так получается весь экран вместе с панелью.
Найдите окна, сделайте расчеты...
Для каких целей это нужно?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.11.2014, 18:24  [ТС]
Цитата Сообщение от greenlight Посмотреть сообщение
Найдите окна, сделайте расчеты...
При чём здесь вообще какие то конкретные окна? Мне надо за вычетом всех панелей.

Добавлено через 2 минуты
Цитата Сообщение от greenlight Посмотреть сообщение
Для каких целей это нужно?
Чтоб в оставшееся поле вписать рамку своего окна. Максимайз загоняет рамку за экран.
0
 Аватар для behollder
47 / 28 / 12
Регистрация: 23.01.2013
Сообщений: 125
04.11.2014, 19:34
Цитата Сообщение от taras atavin Посмотреть сообщение
При чём здесь вообще какие то конкретные окна? Мне надо за вычетом всех панелей.
Возьмитете Spy++ и посмотрите что это за панель. Shell_TrayWnd класс окна... При этом ее может вообще не быть. Ищем ее, нету? - весь экран замеряем. есть? - узнаем размер ее, экрана, делаем расчет и вперед.

Не по теме:

Инет ужасный дублирует сообщения (



Добавлено через 12 минут
Не совсем так как я сказал. Она будет всегда если не убили, но ее просто передвигают вниз при автоскрытии
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
04.11.2014, 19:34
Цитата Сообщение от taras atavin Посмотреть сообщение
Так получается весь экран вместе с панелью.
Нет. Метод из 6-го поста даёт размер экрана без панелей.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.11.2014, 19:50
Лучший ответ Сообщение было отмечено taras atavin как решение

Решение

SystemParametersInfo function
http://msdn.microsoft.com/en-us/library/ms724947
SPI_GETWORKAREA
0x0030

Retrieves the size of the work area on the primary display monitor.
The work area is the portion of the screen not obscured by the system
taskbar or by application desktop toolbars. The pvParam parameter
must point to a RECT structure that receives the coordinates of the
work area, expressed in virtual screen coordinates.

To get the work area of a monitor other than the primary display monitor,
call the GetMonitorInfo function.
2
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.11.2014, 05:36  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
Нет. Метод из 6-го поста даёт размер экрана без панелей.
То ли я не тестил? Высота все 768.

Добавлено через 3 минуты
Цитата Сообщение от greenlight Посмотреть сообщение
Возьмитете Spy++ и посмотрите что это за панель.
То есть я должен рекомендовать юзверям брать какую то спу, смотреть, как завут панельные окна, потом лезть в исходник моей проги и исправлять вычисления?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.11.2014, 05:38  [ТС]
Возьмите свою спу и попробуйте исправить максимизацию, чтоб вписывала рамку в рабочее поле экрана. При этом прога не должна залезать не только под панель задач, а под все панели, сколько бы их ни насоздавалось и по оставшимся сторонам.Sculptor.rar
0
 Аватар для behollder
47 / 28 / 12
Регистрация: 23.01.2013
Сообщений: 125
05.11.2014, 06:32
taras atavin, То что я приводил, я приводил не зная о SystemParametersInfo function, которую посоветовали выше. Она отлично работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.11.2014, 06:32
Помогаю со студенческими работами здесь

Менеджеры размещения и размеры панелей
Доброго времени суток всем. Вопрос по менеджерам размещения в Java. Оговорюсь сразу - у меня нету опыта напсания прог в Java, только...

Какими способами можно в приложении ASP.NET получить размеры экрана пользователя и размер окна браузера?
Есть ASP.NET приложения. Для своих нужд требуется получить размер экрана у пользователя и размер окна браузера. Какими путями это можно...

Подстроить размеры TextView под размеры экрана
У меня есть такая разметка &lt;android.support.v4.widget.SwipeRefreshLayout ...

Как узнать размеры экрана?
хотелось бы выводить кол-во текста пропорционально размерам экрана. в терминале можно установить кол-во строк и колонок, а если...

Как убрать обьект, если уменьшается размеры экрана?
Как убрать обьект, если уменьшается размеры экрана? на телефонах, планшетах, с маленьким экраном, убирался обьект, например: кнопка сбоку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru