Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/56: Рейтинг темы: голосов - 56, средняя оценка - 4.55
2 / 2 / 0
Регистрация: 30.09.2012
Сообщений: 58
1

Координаты и размеры окна

08.12.2013, 17:06. Показов 10349. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, у меня возникла такая проблема. Я написал программу (точнее начал писать) и решил ее проверить на разных компах. И у меня всплыла одна проблема. На мониторах, разрешение которых меньше чем у меня, не помещается все, что должно помещаться. как это исправить? как сделать так чтобы получавшаяся "картина" была хотя б примерно одинаковая на разных мониторах (естественно в разных масштабах). Возможно ли это вообще?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2013, 17:06
Ответы с готовыми решениями:

Как получить размеры клиентской области окна-родителя в функции дочернего окна?
задание такое: имеется дочернее окно,которое "убегает" от курсора мыши в пределах родительского...

Как получить координаты окна в относительно его родительского окна?
А то походу GetWindowRect(Window, &WindowRectangle); относительно экрана получает. А надо...

Размеры окна
Здравствуйте! Помогите, пожалуйста... Проблему видно по скриншотам: title.png - так окно...

Задать размеры окна
Здравствуйте . Какая есть функция для задания размера окна? Мне нужно при обработке WM_CREATE...

3
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
08.12.2013, 18:03 2
Михаил Свинцов,
добрый вечер. известная проблема. используйте функцию GetWindowRect.
0
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
08.12.2013, 19:31 3
Узнать разрешение дисплея можно с помощью GetSystemMetrics

Например

C++
1
2
cxScreen = GetSystemMetrics (SM_CXSCREEN);
cyScreen = GetSystemMetrics (SM_CYSCREEN);
А дальше пропорционально создать окно.

C++
1
2
3
4
5
hwnd = CreateWindowEx (
             ....
             0, 0, cxScreen/2, cyScreen/2,
             ....
             );
0
24 / 24 / 6
Регистрация: 12.04.2013
Сообщений: 122
08.12.2013, 21:19 4
Текущие координаты всех сторон обрамляющего окна:
C++
1
2
RECT rc;
GetWindowRect(hWnd, &rc);
Размеры рабочей области кона:
C++
1
2
RECT rc;
GetClientRect(hWnd, &rc);
(на всякий случай) размеры рабочей области развернутого окна.. там есть вроде отличия в высоте
C++
1
2
RECT rc;
SystemParametersInfo(SPI_GETWORKAREA, 0, &rc, 0);
C++
1
2
GetSystemMetrics(SM_CXSCREEN); // ширина экрана
GetSystemMetrics(SM_CYSCREEN); // высота экрана
Вот тут информации много: Функции перемещения окон
2
08.12.2013, 21:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2013, 21:19
Помогаю со студенческими работами здесь

Как сделать размеры окна неизменяемыми?
Как сделать размеры окна неизменяемыми, чтобы небыло кнопки "во весь экран", а также чтобы нельзя...

Необходимо изменить размеры окна консоли
Приветствую. Необходимо изменить размеры окна консоли, допустим, на 50 * 50 средствами WinAPI,...

Графика: треугольник, изменяющий размеры при изменении размеров окна
Помогите разобраться в коде. Мне нужно привязать треугольник к основанию окна и чтобы по изменению...

Как изменять размеры дочернего окна при изменении размеров родительского?
Есть главное окно и внутри него прорисовано дочернее(благодаря стилю WS_BORDER), которое разделяет...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru