lisstret 0 26 июня, 2014 Опубликовано 26 июня, 2014 · Жалоба У меня нубский вопрос. Как делая приложение в виде диалогового окна используя MFC , я могу вывести состояние светодиода? В идеале нужна точка, изменяющая цвет с зеленого на красный. Ни как не пойму в какую сторону рыть. И каким элементом управления, или вообще если возможно без него, вывести текст? Заранее простите за созданную тему, но из гугла я в нужное место попасть не могу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smalcom 0 26 июня, 2014 Опубликовано 26 июня, 2014 · Жалоба Или самому рисовать закрашенный кружочек(емнип OnPaint) или использовать две картинки для каждого состояния светодиода. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lisstret 0 26 июня, 2014 Опубликовано 26 июня, 2014 · Жалоба Или самому рисовать закрашенный кружочек(емнип OnPaint) или использовать две картинки для каждого состояния светодиода. Спасибо. То есть в окне диалога можно делать все тоже, что и в окне представления? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smalcom 0 26 июня, 2014 Опубликовано 26 июня, 2014 · Жалоба Все элементы являются окнами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
muravei 3 26 июня, 2014 Опубликовано 26 июня, 2014 · Жалоба И каким элементом управления, или вообще если возможно без него, вывести текст? Кажется, у вас он назывется - лейбл. Можно красить квадратик- менять задний цвет текстбокса. ( Вообще то я про Шарп, но разве у вас так нельзя?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolobok0 0 26 июня, 2014 Опубликовано 26 июня, 2014 · Жалоба ...В идеале нужна точка, изменяющая цвет с зеленого на красный.... не совсем круглая точка, но думаю мысль будет понятна... где-то в ресурсах диалога 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); } } вместо красного ...ну думаю понятно... что душеньке угодно... так-же и регион может быть не прямоугольный... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lisstret 0 28 июня, 2014 Опубликовано 28 июня, 2014 · Жалоба не совсем круглая точка, но думаю мысль будет понятна... где-то в ресурсах диалога 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. Только тут пустой статический текст прорисовывается над моим красненьким квадратиком. В принципе можно все подогнать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться