Форум программистов, компьютерный форум CyberForum.ru

Ширина (высота) окна winapi - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.88
The special one
13 / 13 / 0
Регистрация: 09.03.2012
Сообщений: 112
22.07.2012, 23:46     Ширина (высота) окна winapi #1
Подскажите как узнать ширину (высоту) окна?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2012, 23:46     Ширина (высота) окна winapi
Посмотрите здесь:

C++ WinAPI размеры окна
C++ Полная перерисовка окна на WinApi
WinAPI и стили окна. C++
C++ Ширина и высота окна консольного приложения(VS 2010)
C++ Проблема с созданием дочернего окна в WinApi
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
22.07.2012, 23:52     Ширина (высота) окна winapi #2
The special one,

C++
1
GetWindowRect(HWND hWnd, LPRECT lpRect)
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
23.07.2012, 00:03     Ширина (высота) окна winapi #3
ну или

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
        static int sx, sy;
        switch (message)
        {
        case WM_SIZE:
            sx = LOWORD(lParam); //ширина
            sy = HIWORD(lParam); //высота
        break;
        case WM_DESTROY: PostQuitMessage(0); break;
        default: return DefWindowProc(hWnd, message, wParam, lParam);
        }
 
    }
The special one
13 / 13 / 0
Регистрация: 09.03.2012
Сообщений: 112
23.07.2012, 21:54  [ТС]     Ширина (высота) окна winapi #4
Цитата Сообщение от nameless Посмотреть сообщение
The special one,

C++
1
GetWindowRect(HWND hWnd, LPRECT lpRect)
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Не врубился, я новичок. Вот в этой ссылке прочитал что тип LPRECT - это указатель на структуру RECT в которой хранятся координаты окна. А как в переменную записать ширину(высоту) окна?

Добавлено через 1 минуту
Цитата Сообщение от Infinity3000 Посмотреть сообщение
ну или
Ясно, только у меня размеры окна не меняются.
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
23.07.2012, 22:00     Ширина (высота) окна winapi #5
Цитата Сообщение от The special one Посмотреть сообщение
Не врубился, я новичок. Вот в этой ссылке прочитал что тип LPRECT - это указатель на структуру RECT в которой хранятся координаты окна. А как в переменную записать ширину(высоту) окна?
Ну посчитать:

C++
1
2
LONG width = rect.right - rect.left;
LONG height = rect.bottom - rect.top;
The special one
13 / 13 / 0
Регистрация: 09.03.2012
Сообщений: 112
23.07.2012, 22:15  [ТС]     Ширина (высота) окна winapi #6
Ничего не выходит, можно код полностью привести.
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
23.07.2012, 22:30     Ширина (высота) окна winapi #7
The special one,

C++
1
2
3
4
5
6
7
8
9
case WM_CREATE:
 
.............................
 
    RECT rect;
 
    GetWindowRect(hwnd, &rect);
    LONG width = rect.right - rect.left;
    LONG height = rect.bottom - rect.top;
The special one
13 / 13 / 0
Регистрация: 09.03.2012
Сообщений: 112
23.07.2012, 22:45  [ТС]     Ширина (высота) окна winapi #8
Ясно, спасибо.
Troll_Face
 Аватар для Troll_Face
599 / 399 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
24.07.2012, 00:26     Ширина (высота) окна winapi #9
или на ВМ_ПАИНТ можно поставить обработчик и делать ГетКлиентРект, хотя это одно и тоже с ГетВиндовРект...
The special one
13 / 13 / 0
Регистрация: 09.03.2012
Сообщений: 112
24.07.2012, 09:21  [ТС]     Ширина (высота) окна winapi #10
Всем спасибо, я с этим вопросом полностью разобрался.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2012, 10:50     Ширина (высота) окна winapi
Еще ссылки по теме:

C++ оздать класс "измерения" с открытыми данными высота и ширина
размеры 15-параллелепипедов (длина, высота. ширина) хранятся в трех массивах. Определить номер фигуры что имеет* максимальный объем C++
C++ Написать программу, которая выводит на экран полый прямоугольник, ширина и высота фигуры задаются пользователем с клавиатуры.

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

Или воспользуйтесь поиском по форуму:
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
24.07.2012, 10:50     Ширина (высота) окна winapi #11
Цитата Сообщение от Fatal Error Посмотреть сообщение
хотя это одно и тоже с ГетВиндовРект...
Все таки это немного разные вещи. GetWindowRect возвращает прямоугольник с координатами относительно левjго верхнего угла экрана. Тогда как GetClientRect вернет результат относительно клиентской части (за исключением границы, заголовка, меню и т.д.) окна.
Yandex
Объявления
24.07.2012, 10:50     Ширина (высота) окна winapi
Ответ Создать тему
Опции темы

Текущее время: 16:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru