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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.88
The special one
13 / 13 / 0
Регистрация: 09.03.2012
Сообщений: 112
#1

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

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

Подскажите как узнать ширину (высоту) окна?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2012, 23:46     Ширина (высота) окна winapi
Посмотрите здесь:

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

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

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

оздать класс "измерения" с открытыми данными высота и ширина - C++
Создать класс "измерения" с открытыми данными высота и ширина. С помощью наследования создать четыре класса: 1. прямоугольник - для...

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

Получить цвет фона экрана консольного окна (можно и методами WinAPI) - C++
Привет. Как получить цвет (фона экрана) консольного окна? Можно и методами WinAPI. С меня печенька :)

Высота конуса - C++
Построить график зависимости расстояния от водной поверхности до верхней точки плавающего на воде тела от плотности материала данного тела,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nameless
Эксперт C++
333 / 297 / 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
1058 / 577 / 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++
333 / 297 / 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++
333 / 297 / 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
600 / 400 / 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++
Здравствуйте. При выводе строки из файла ширина задаётся setw и отображается нормально, а вот при выводе простых строк типа "Фамилия...

Ширина вывода чисел - C++
Если я вел 12/31/02 на экран выводится 12/31/2. Как сделать чтобы выводилось 02. #include <iostream.h> ...

Не выводится ширина поля - C++
#include <iostream> using namespace std; int main() { char a="Hello,world!"; cout.width(10); cout<<a<<endl; ...

Ширина строки в printf - C++
покопался в инете, но чё-та не нашёл нужного мне варианта, наверно плохо искал )) находил всякие примеры типа printf("%-20s", "это...

Ширина многострочного редактора - C++
Подскажите плз! Проблема такова: Нужно установить ширину многострочного редактора, так чтобы при использовании шрифта с фиксированной...


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

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

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