Arhn - архитектура программирования

Получить размер флажка

Я использую пользовательскую отрисовку, чтобы изменить цвет текста и фона тематического флажка.

Чтобы правильно расположить текст, мне нужны размеры флажка. На картинке ниже показано, что я имею в виду:

введите здесь описание изображения

Просматривая архив StackOverflow, я нашел этот пост но это меня смутило. Я просто не знаю, какой ответ является решением моей проблемы. Интернет тоже не помог.

27.03.2014

  • Поскольку текст представляет собой одну строку, а флажок имеет квадратную форму, вы можете просто использовать его высоту следующим образом: VectorType(height, height). 27.03.2014
  • @OMGtechy: Мне тоже пришла в голову эта мысль. Тем не менее, иногда высота текста может быть больше, чем размер фактического флажка... 27.03.2014
  • Вероятно, вам следует вручную нарисовать весь элемент управления 27.03.2014
  • @DavidHeffernan: я пытаюсь сделать это в соответствии с одним из ваших ответов на аналогичную тему. Если я создаю флажок без текста и вызываю DrawThemeParentBackground в CDDS_PREERASE, возвращающем return CDRF_NOTIFYITEMDRAW, фон становится прозрачным. Кроме того, после того, как я использую DrawText(), я могу изменить цвет текста (и фон, если захочу) на желаемый. Будучи неопытным, и поскольку примеров пользовательских нарисованных кнопок мало, я мог бы использовать пример кода или, по крайней мере, некоторые инструкции. При необходимости я мог бы опубликовать свой код. Спасибо за попытку помочь. С наилучшими пожеланиями. 27.03.2014

Ответы:


1

Функция, которая вам нужна, насколько я понимаю, это GetThemePartSize. Вам необходимо указать BP_CHECKBOX для части и любое из состояний подходит.

27.03.2014
  • У меня была такая же идея, но я не знаю, как определить, какое состояние передать в качестве параметра. Единственная идея, которая у меня есть, это как-то использовать BM_GETSTATE. Тогда мне, вероятно, следует использовать DrawThemeBackground и DrawText. Спасибо. На данный момент я проголосовал за, я официально приму после того, как успешно реализую пользовательскую отрисовку. С наилучшими пожеланиями. 27.03.2014
  • Да, вам нужно знать состояние флажка. Если вы рисуете все это, а вы должны, то вам уже придется иметь дело с этим. 27.03.2014
  • Приношу извинения за свой предыдущий ответ, этот вопрос касается получения размеров флажка. Ваш пост отвечает на него. Мои проблемы, изложенные в предыдущих комментариях, носят другой характер и заслуживают отдельного вопроса. Принято официально и одобрено. Спасибо за помощь. С наилучшими пожеланиями. 28.03.2014
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..