Все ли состояния BP_CHECKBOX гарантированно имеют одинаковый размер, и если нет, то как мне обрабатывать различия в размерах при рисовании и тестировании попаданий?

Мой пользовательский элемент управления Table рисует свои собственные флажки и обрабатывает свои собственные события флажков. Прямо сейчас, когда я вычисляю размер тематического флажка (с GetThemePartSize()) Я уверен, что все состояния имеют одинаковый размер, паникуя, если один отличается. Проверять все состояния каждый раз нецелесообразно, если я собираюсь изменить размеры флажков на лету (передавая HDC), и это похоже на то время, когда я могу действовать более надежно, чем паниковать (тем более, что я все равно реструктурирую весь код моего элемента управления).

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

Старый документ "Windows XP Visual Guidelines" предполагает, что все они должны быть одинакового размера, но это ничего не гарантирует для будущих версий Windows (и я не знаю аналогичных документов для будущих версий Windows). Я не вижу ничего другого в MSDN или в заголовочных файлах.

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

Благодарю.

0 ответов

Другие вопросы по тегам