реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Симулирование светодиода, В диалоговом окне MFC
lisstret
сообщение Jun 26 2014, 10:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 10-06-10
Из: Владивосток
Пользователь №: 57 835



У меня нубский вопрос. Как делая приложение в виде диалогового окна используя MFC , я могу вывести состояние светодиода? В идеале нужна точка, изменяющая цвет с зеленого на красный. Ни как не пойму в какую сторону рыть. И каким элементом управления, или вообще если возможно без него, вывести текст? Заранее простите за созданную тему, но из гугла я в нужное место попасть не могу.
Go to the top of the page
 
+Quote Post
smalcom
сообщение Jun 26 2014, 12:36
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Или самому рисовать закрашенный кружочек(емнип OnPaint) или использовать две картинки для каждого состояния светодиода.
Go to the top of the page
 
+Quote Post
lisstret
сообщение Jun 26 2014, 13:24
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 10-06-10
Из: Владивосток
Пользователь №: 57 835



Цитата(smalcom @ Jun 26 2014, 23:36) *
Или самому рисовать закрашенный кружочек(емнип OnPaint) или использовать две картинки для каждого состояния светодиода.


Спасибо. То есть в окне диалога можно делать все тоже, что и в окне представления?
Go to the top of the page
 
+Quote Post
smalcom
сообщение Jun 26 2014, 14:24
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Все элементы являются окнами.
Go to the top of the page
 
+Quote Post
muravei
сообщение Jun 26 2014, 14:58
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(lisstret @ Jun 26 2014, 14:15) *
И каким элементом управления, или вообще если возможно без него, вывести текст?

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

Можно красить квадратик- менять задний цвет текстбокса. ( Вообще то я про Шарп, но разве у вас так нельзя?)
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Jun 26 2014, 19:54
Сообщение #6


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(lisstret @ Jun 26 2014, 14:15) *
...В идеале нужна точка, изменяющая цвет с зеленого на красный....


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

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

Код
    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);
        }
    }



вместо красного ...ну думаю понятно... что душеньке угодно...
так-же и регион может быть не прямоугольный...
Go to the top of the page
 
+Quote Post
lisstret
сообщение Jun 28 2014, 00:18
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 10-06-10
Из: Владивосток
Пользователь №: 57 835



Цитата(kolobok0 @ Jun 27 2014, 06:54) *
не совсем круглая точка, но думаю мысль будет понятна...

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

Код
    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. Только тут пустой статический текст прорисовывается над моим красненьким квадратиком. В принципе можно все подогнать.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 00:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016