master74_ 0 8 февраля, 2017 Опубликовано 8 февраля, 2017 · Жалоба Доброго дня. Нужна помощь. Первый проект, stemwin с менеджером окон. Без OS. Как правильно сделать вывод значения переменной (к примеру температуру), чтоб stemwin периодически само обновляло его на экране (к примеру каждую секунду). И подскажите где можно почитать о менеджере окон stemwin, желательно на русском. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
golf2109 0 23 февраля, 2017 Опубликовано 23 февраля, 2017 · Жалоба а зачем нужен менеджер окон если выводится тоько одно значение? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 24 февраля, 2017 Опубликовано 24 февраля, 2017 · Жалоба а зачем нужен менеджер окон если выводится тоько одно значение? +1 Наверно, чтобы одно окно и нарисовать с label-ом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 24 февраля, 2017 Опубликовано 24 февраля, 2017 · Жалоба Как??! Неужто можно рисовать без окон????!!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 24 февраля, 2017 Опубликовано 24 февраля, 2017 · Жалоба Доброго дня. Нужна помощь. Первый проект, stemwin с менеджером окон. Без OS. Без OS будет больно. Я делал так в свое время: Организовывал массив с указателями на виджеты окна при создании окна, в этом же массиве связывал их с указателями на переменные и их аттрибуты. Потом в отдельной задаче по событию от таймера и прочим событиям вызывал GUI_Exec и в виджеты переписывал актуальные значения переменных. GUI_Exec имеет вложенность в десятки вызовов, так что надо иметь хороший наблюдатель стека. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 24 февраля, 2017 Опубликовано 24 февраля, 2017 · Жалоба Первый проект, stemwin с менеджером окон. Без OS. Как правильно сделать вывод значения переменной (к примеру температуру), Если это "спортивный интерес", то я понимаю, но если все, что требуется, это нарисовать прямоугольник с рамкой, в котором будет несколько текстовых строк, то зачем вообще связываться с емвином?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 26 февраля, 2017 Опубликовано 26 февраля, 2017 · Жалоба Я делал что-то подобное (панельку с часами, значками наподобие виндозного трея) следующим образом: 1. Создаю окно: WM_HWIN hStatusWin; ................................. hStatusWin = WM_CreateWindowAsChild ( 0, 0, 800, 25, WM_GetDesktopWindowEx ( 1 ), WM_CF_SHOW | WM_CF_HASTRANS | WM_CF_MEMDEV | WM_CF_STAYONTOP, _cbStatus, 0 ); 2. В его оконной функции пишу: hWin = pMsg -> hWin; switch ( pMsg->MsgId ) { case WM_CREATE: // Создание окна hTimerTime = WM_CreateTimer ( hWin, ID_TIMER_TIME, 1000, 0 ); ............. break; case WM_DELETE: // Удаление окна WM_DeleteTimer ( hTimerTime ); break; case WM_TIMER: // Таймер обновления окна WM_InvalidateWindow ( hWin ); WM_RestartTimer ( pMsg->Data.v, 0 ); break; case WM_PAINT: // Перерисовка break; hTimerTime - либо глобальная, либо локальная с модификатором static. Идея в следующем - Вы создаёте простое окно, которое сами же и перерисовываете по таймеру в событии WM_PAINT. Работает и под FreeRTOS, и без неё. от этого вообще ничего не зависит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться