Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/40: Рейтинг темы: голосов - 40, средняя оценка - 4.58
2 / 2 / 0
Регистрация: 17.01.2017
Сообщений: 59

Положение окна

21.09.2017, 21:39. Показов 8279. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
У меня в ДЛЛ позиция меню определяется по координатам X и Y
выглядит это как то так
C++
1
2
3
4
struct MenuPOS
{
    LONG x = 0, y = 0;
};
Так вот вопрос как мне расположить окно в центре ( да знаю что могу выставить координаты и всё но тогда для других разрешений экрана это не будет центром), как мне сделать чтобы определялось разрешение экрана и выставляла бы меню по центру?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.09.2017, 21:39
Ответы с готовыми решениями:

Положение окна
Как вывести GetSystemMetrics GetClientRect GetWindowRect в рабочие области окна и обновлять по мере изменения состояния окона.

Как ограничить положение дочернего окна?
У меня есть дочернее окно которое я могу перемещать в родительском. Как можно установить ограничение на положение для дочернего окна?

Получить цвет пикселя из неактивного окна, перекрытого другими окнами окна
Можно ли получить цвет пикселя из неактивного или перекрытого другими окна? Какие есть способы? Погуглил, вроде говорят что можно сделать...

5
 Аватар для Megageorgio
79 / 81 / 66
Регистрация: 03.04.2017
Сообщений: 216
21.09.2017, 22:12
programer40, узнать максимальное разрешение можно вот так:
C
1
LONG x = GetSystemMetrics(SM_CXSCREEN), y = GetSystemMetrics(SM_CYSCREEN);
дальше там делите на два и т.д. что вам надо
0
2 / 2 / 0
Регистрация: 17.01.2017
Сообщений: 59
22.09.2017, 14:12  [ТС]
Не помогло, на разных разрешениях меняет своё положение...
0
553 / 25 / 7
Регистрация: 12.11.2013
Сообщений: 52
22.09.2017, 16:00
Лучший ответ Сообщение было отмечено _lunar_ как решение

Решение

Для положения самого окна по центру использую такой код
C++
1
2
3
4
5
HWND hWnd = CreateWindow(wc.lpszClassName, "Test",
    WS_SYSMENU | WS_MINIMIZEBOX,
    (GetSystemMetrics(SM_CXSCREEN) - 1024) / 2,
    (GetSystemMetrics(SM_CYSCREEN) - 576) / 2,
1024, 576, nullptr, nullptr, hInstance, 0);
Суть в том, что размер окна задаётся 1024х576. Функцией GetSystemMetrics(SM_CYSCREEN) я отнимаю такие же показатели размера окна и делю их на 2. В результате окно встаёт четко по центру независимо от разрешения экрана.
2
 Аватар для Alikberov
131 / 116 / 25
Регистрация: 03.05.2017
Сообщений: 337
Записей в блоге: 1
22.09.2017, 18:58
Цитата Сообщение от programer40 Посмотреть сообщение
чтобы определялось разрешение экрана и выставляла бы меню по центру?
Крайнe странная фраза…
Нужно, чтобы окно своей строкой меню попало в центр? Или системное меню окна было в центре?
0
2 / 2 / 0
Регистрация: 17.01.2017
Сообщений: 59
22.09.2017, 23:22  [ТС]
Цитата Сообщение от Alikberov Посмотреть сообщение
Нужно, чтобы окно своей строкой меню попало в центр? Или системное меню окна было в центре?
Крч есть игра CSGO у меня есть чит в котором есть меню вот его нужно разместить по центру, надеюсь понятно объяснил?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.09.2017, 23:22
Помогаю со студенческими работами здесь

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

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

Окно: создать 4 окна, в центре каждого из окон вывести номер окна в порядке создания(1-4)
Не могу справиться с программой, Нужно создать 4 окна. В центре каждого из окон вывести номер окна в порядке создания(1-4). При нажатии...

Закрытие дочернего окна приводит к закрытию основного окна
Суть задания "После нажатия левой кнопки мышки в области окна в левом углу окна создать временное окно размером в чверть основного окна....

При перерисовке главного окна мигают дочерние окна
При перерисовке главного окна мигают дочерние окна. Для отрисовки главного окна используется двойная буферизация, как и в дочерних окнах....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru