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

Я работаю над инструментом, который генерирует сетку шестиугольников, по которой пользователь может нажимать, чтобы переключаться между определенными состояниями (враг, союзник и т. Д.). До сих пор я мог генерировать гексы как полигоны.

Я довольно новичок в программировании Windows и Win32 API. Я знаю, как создать обычную кнопку, но как лучше всего справиться с тем, что мне нужно?

Варианты, которые приходят на ум:

  1. Сделайте псевдокнопки гексагона. Как и в хранилище состояний объектов hex и просто нарисуйте текст в каждом hex, когда пользователь нажимает на них.
  2. Сделать фактические кнопки в форме шестиугольника, используя CreateWindow. Я нашел несколько примеров того, как создавать кнопки разной формы, но сам не пробовал.
  3. Создайте файлы изображений для циклического прохождения.

Как правильно поступить, чтобы сделать это? Под правильным я подразумеваю лучшую практику.

0

Решение

Если вы уже рисуете шестиугольники (это звучит так, как вы), то создание кнопок в форме шестиугольника на самом деле мало что для вас делает. Вы можете выполнить проверку нажатия самостоятельно, чтобы определить, какая псевдокнопка была нажата. Это позволяет избежать управления Windows многими небольшими объектами, о которых у вас уже есть полные данные. И рисование текста на этих кнопках будет по крайней мере так же быстро, как для этого потребуется Windows.

0

Другие решения


По вопросам рекламы [email protected]