Перейти к содержанию
    

Симулирование светодиода

У меня нубский вопрос. Как делая приложение в виде диалогового окна используя MFC , я могу вывести состояние светодиода? В идеале нужна точка, изменяющая цвет с зеленого на красный. Ни как не пойму в какую сторону рыть. И каким элементом управления, или вообще если возможно без него, вывести текст? Заранее простите за созданную тему, но из гугла я в нужное место попасть не могу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или самому рисовать закрашенный кружочек(емнип OnPaint) или использовать две картинки для каждого состояния светодиода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или самому рисовать закрашенный кружочек(емнип OnPaint) или использовать две картинки для каждого состояния светодиода.

 

Спасибо. То есть в окне диалога можно делать все тоже, что и в окне представления?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И каким элементом управления, или вообще если возможно без него, вывести текст?

Кажется, у вас он назывется - лейбл.

 

Можно красить квадратик- менять задний цвет текстбокса. ( Вообще то я про Шарп, но разве у вас так нельзя?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...В идеале нужна точка, изменяющая цвет с зеленого на красный....

 

не совсем круглая точка, но думаю мысль будет понятна...

 

где-то в ресурсах диалога

 

    LTEXT           "",IDC_STATIC_CONNECT_OUT,165,49,19,11

 

где-то на обработчике события

 

    if (m_hWnd != NULL)
    {
        CDC* pDc = GetDlgItem(IDC_STATIC_CONNECT_OUT)->GetDC();
        //
        if (pDc != NULL)
        {
            pDc->FillSolidRect(0, 0, 20, 20, RGB(255, 0, 0));
            ReleaseDC(pDc);
        }
    }

 

 

вместо красного ...ну думаю понятно... что душеньке угодно...

так-же и регион может быть не прямоугольный...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не совсем круглая точка, но думаю мысль будет понятна...

 

где-то в ресурсах диалога

 

    LTEXT           "",IDC_STATIC_CONNECT_OUT,165,49,19,11

 

где-то на обработчике события

 

    if (m_hWnd != NULL)
    {
        CDC* pDc = GetDlgItem(IDC_STATIC_CONNECT_OUT)->GetDC();
        //
        if (pDc != NULL)
        {
            pDc->FillSolidRect(0, 0, 20, 20, RGB(255, 0, 0));
            ReleaseDC(pDc);
        }
    }

 

 

вместо красного ...ну думаю понятно... что душеньке угодно...

так-же и регион может быть не прямоугольный...

 

Благодарю за совет, так и сделал, работает и запихал в OnPaint. Только тут пустой статический текст прорисовывается над моим красненьким квадратиком. В принципе можно все подогнать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...