WinAPI Layout Editor

guidesoul

Green Team
27.07.2025
57
4
WinAPI Layout Editor — это инструмент для разработчиков, который позволяет визуально редактировать расположение и размеры элементов управления в приложениях, написанных на C/C++ с использованием WinAPI.

Программа решает одну из самых трудоёмких задач при работе с WinAPI — рутинную правку числовых координат и размеров в коде.

Вместо того чтобы многократно перекомпилировать проект для проверки каждого изменения, разработчик может открыть исходный файл в редакторе, передвинуть и изменить размеры элементов с помощью мыши и клавиатуры, а затем сохранить изменения прямо в исходный код.

Основные возможности

Перемещение и изменение элементов интерфейса в реальном времени.

Одиночное и групповое перетаскивание элементов мышью для быстрой компоновки.
Выделение нескольких элементов с помощью рамки мышью или удерживая Ctrl/Shift.

Использование клавиш-стрелок для попиксельного перемещения.

Изменение размеров с помощью Shift + клавиши-стрелки.

Отмена и повторение последних действий с помощью стандартных сочетаний клавиш Ctrl+Z и Ctrl+Y.

Открытый исходный код и развитие проекта

WinAPI Layout Editor — это проект с открытым исходным кодом.
Это значит, что любой желающий может изучить, как он работает, адаптировать его под свои нужды или принять участие в его развитии.

Скачать можно в облаке
 

Вложения

  • 1.webp
    1.webp
    19,7 КБ · Просмотры: 56
  • 2.webp
    2.webp
    26,9 КБ · Просмотры: 16
Улучшена функция сохранения

Вместо поиска по одной строке, редактор теперь считывает блок кода, начиная с найденной строки вызова CreateWindow и заканчивая символом точки с запятой (;).

Регулярное выражение применяется ко всему найденному блоку, что гарантирует нахождение и замену координат вне зависимости от стиля форматирования.

После сохранения измененный многострочный вызов автоматически преобразуется в однострочный для упрощения дальнейшей обработки.

Это позволяет корректно обрабатывать отформатированный, многострочный код и устраняет ошибку «Не удалось найти структуру вызова...».
 
Улучшения навигации

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

Реализована возможность перемещать всю рабочую область, что незаменимо при работе с большим увеличением.

1. Зажмите среднюю кнопку мыши (колесо) и двигайте курсор.
2. Зажмите клавишу Пробел и перемещайте область левой кнопкой мыши.
 
  • Нравится
Реакции: Сергей Попов
Режим реального отображения

Теперь можно увидеть, как элементы управления (кнопки, поля ввода) будут выглядеть в конечном приложении.
Это помогает точнее настроить их размеры и взаимное расположение.

Переключение между режимами осуществляется нажатием клавиши F2.

П.С. Есть что доработать
 

Вложения

  • 1.webp
    1.webp
    21,7 КБ · Просмотры: 8
  • 2.webp
    2.webp
    29 КБ · Просмотры: 8
В режиме "реального отображения" некоторые элементы управления (в частности, большие GroupBox-ы) было невозможно выделить, переместить или изменить их размер.
Проблема возникала, когда эти крупные элементы были частично перекрыты другими, более мелкими элементами (например, текстовыми метками STATIC).

Старый алгоритм выбора при клике находил все элементы под курсором и ошибочно выбирал тот, у которого была наименьшая площадь, а не тот, который находился визуально сверху.

Вместо сравнения площадей, новый алгоритм теперь корректно учитывает Z-порядок (визуальное наслоение) элементов.
 
Реализована функция переименования элементов интерфейса в режиме реального отображения.

Двойной клик по элементу активирует поле для редактирования его названия.
Чтобы применить новое имя, необходимо нажать Enter или щелкнуть мышью за пределами поля ввода.

Это нововведение значительно упрощает и ускоряет процесс локализации и настройки текстовых меток в интерфейсе.

 
Переименование элементов интерфейса теперь выполняется нажатием на среднюю кнопку мыши (колёcо).

Улучшена стабильность функции переименования в режиме реального отображения (клавиша F2 для смены режима).
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab