Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.97/68: Рейтинг темы: голосов - 68, средняя оценка - 4.97
13 / 13 / 0
Регистрация: 09.03.2012
Сообщений: 112
1

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

22.07.2012, 23:46. Просмотров 12905. Ответов 10
Метки нет (Все метки)

Подскажите как узнать ширину (высоту) окна?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2012, 23:46
Ответы с готовыми решениями:

Ширина и высота окна консольного приложения(VS 2010)
Всем привет. Подскажите как настроить высоту и ширину консольного окошка. Это то, которое...

Написать программу, которая выводит на экран прямоугольник символом *. Высота и ширина задаётся пользователем
Здравствуйте. Не получается написать программу, которая будет выводить прямоугольник символом *....

Написать программу, которая выводит на экран полый прямоугольник, ширина и высота фигуры задаются пользователем с клавиатуры.
Написать программу, которая выводит на экран полый прямоугольник, ширина и высота фигуры задаются...

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

10
Эксперт С++
340 / 304 / 36
Регистрация: 16.06.2009
Сообщений: 486
22.07.2012, 23:52 2
The special one,

C++
1
GetWindowRect(HWND hWnd, LPRECT lpRect)
http://msdn.microsoft.com/en-u... s.85).aspx
1
1064 / 582 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
23.07.2012, 00:03 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);
        }
 
    }
1
13 / 13 / 0
Регистрация: 09.03.2012
Сообщений: 112
23.07.2012, 21:54  [ТС] 4
Цитата Сообщение от nameless Посмотреть сообщение
The special one,

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

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

C++
1
2
LONG width = rect.right - rect.left;
LONG height = rect.bottom - rect.top;
1
13 / 13 / 0
Регистрация: 09.03.2012
Сообщений: 112
23.07.2012, 22:15  [ТС] 6
Ничего не выходит, можно код полностью привести.
0
Эксперт С++
340 / 304 / 36
Регистрация: 16.06.2009
Сообщений: 486
23.07.2012, 22:30 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;
3
13 / 13 / 0
Регистрация: 09.03.2012
Сообщений: 112
23.07.2012, 22:45  [ТС] 8
Ясно, спасибо.
0
606 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
24.07.2012, 00:26 9
или на ВМ_ПАИНТ можно поставить обработчик и делать ГетКлиентРект, хотя это одно и тоже с ГетВиндовРект...
1
13 / 13 / 0
Регистрация: 09.03.2012
Сообщений: 112
24.07.2012, 09:21  [ТС] 10
Всем спасибо, я с этим вопросом полностью разобрался.
0
Эксперт С++
340 / 304 / 36
Регистрация: 16.06.2009
Сообщений: 486
24.07.2012, 10:50 11
Цитата Сообщение от Fatal Error Посмотреть сообщение
хотя это одно и тоже с ГетВиндовРект...
Все таки это немного разные вещи. GetWindowRect возвращает прямоугольник с координатами относительно левjго верхнего угла экрана. Тогда как GetClientRect вернет результат относительно клиентской части (за исключением границы, заголовка, меню и т.д.) окна.
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.07.2012, 10:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

оздать класс "измерения" с открытыми данными высота и ширина
Создать класс "измерения" с открытыми данными высота и ширина. С помощью наследования создать...

Создание окна WinAPI в Visual Studio, графика и кнопки
собственно вопрос - как? конечно понимаю что можно и другие кнопочки потыкать, может там и проще...

Ширина и высота MainWindow
Как вытащить в числовых значениях ширину и высоту окна MainWindow???

Ширина и высота повернутой картинки
Методы width() и height() возращают ширину и высоту картинки. Но если я поверну картинку, к примеру...

Высота окна
Подскажите, как сделать так, чтобы в Win32 API в Visual сделать высоту окна 0, но при этом нужно...

WinAPI и стили окна
Всем привет! В общем, раньше работал только в консоли. Учился. Теперь вот решил, что пора бы уже...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.