|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Так то оно так, в этом есть педагогический фокус. Чекбокс в 90% случаев не содержит никаких эффектов и анимаций переходов — он слишком мал, чтобы это имело смысл. Автоматически ученик об этом и не задумывается, концентрируясь на состояниях и на тру ООП. В случае с кнопкой же многообразие возможных визуальных реакций сбивает с толку и засоряет мозг. Чекбокс можно делать по нарастающей, от совсем простого "рамочка и +-квадратик", накручивая состояния, возможность добавлять иконки извне или устанавливать цвета для внутреннего рисования, работать с лейблом. Чекбокс проще умещается в мозгу. У кнопки больше разнообразие элементов, требующих внимания. У нее может быть иконка, может не быть иконки, может быть текст, может не быть текста, может быть и то и другое или не быть ничего. И меняться в разных состояниях. И по-разному может быть устроена реакция на ресайз кнопки. Наконец, у кнопок в 10 раз больше специфических вариантов поведения для разных целей. А чекбокс это просто ToggleButton, и то без излишеств.
Добавлено через 14 минут
Akopalipsis, я понятия не имею, с чем работают в реальном мире)) Я никогда не делал сам чекбокс как "просто чекбокс", у меня он всегда является частью библиотеки GUI. Если честно, мне даже в голову никогда не приходило делать чекбокс из битмапов. Для игр это, наверное, самое то; однако интерфейс для игр всегда уникален/индивидуален, и нередко хитро анимирован, здесь это ни к чему. Вам надо определиться только с подходом: будут ли состояния добавляться извне как DO или рисоваться внутри. Выберите что-то одно, или придумайте как иметь оба варианта)) Однако в случае с библиотекой контролов визуальные элементы чекбокса [скорее всего] будут экземплярами других библиотечных классов - лейбла, панельки, иконки. Как я уже говорил, в такой на вид маленькой штучке есть куда развернуться.
|