| imho.ws |
![]() |
|
|
|
# 1 |
|
Full Member
Регистрация: 11.12.2002
Сообщения: 864
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
класс - окно для вывода текстовой информации
Привет всем. Нужна помощь - надо создать вспомогательное текстовое окошко (желательно с вертикальной прокруткой) и выводить в него небольшие текстовые сообщения.
Я сделал класс, который будет скомпилирован в ДЛЛ, а чужая прога дает фейс и будет вызывать мой класс. Внутри моего класса один из членов будет этот логгер. Мой класс сегодня никак не трогает ГУИ. Окошко логгера должно будет создаваться в конструкторе моего класса (который создается при старте аппликации), и будет создана только 1 копия моего класса (если это важно). Код должен быть в С/С++, и желательно юзать ВинАПИ. Декларация - чтото вроде такого: Код:
class LogWindow
{
public:
LogWindow ();
~LogWindow ();
bool AddMsgToWindow (char *msg);
bool ClearWindow (); { m_szMsgBuffer[0] = '\0'; return Update(); }
private:
bool Update();
HWND m_hwnd;
char m_szMsgBuffer[10000];
};
Последний раз редактировалось crawler; 26.12.2007 в 23:57. |
|
|
|
|
# 2 |
|
Junior Member
Регистрация: 19.04.2002
Адрес: Дом
Пол: Male
Сообщения: 187
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
А в чем собственно проблема-то?
Создай в ресурсах окошко, например с RichEdit'ом, а в конструкторе класса делай CreateWindow(), потом когда надо ShowWindow(SW_SHOw/SW_HIDE). После создания получаешь хендл RichEdit'а и когда надо что-то вставить в текстовую облать, отсылаешь RichEdit'у сообщение через SendMessage(), какие параметры можно посмотреть в MSDN... Очистка тоже через SendMessage.
__________________
Дураки не динозавры - они не вымрут... |
|
|
|
|
# 3 | |
|
Full Member
Регистрация: 11.12.2002
Сообщения: 864
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
проблема собсно в "создать". RichEdit даже не нужен, достаточно обычного TextEdit ( или StaticText ).
Цитата:
И еще - как создать это окошко чтобы оно висело "поверх" всего остального? Последний раз редактировалось crawler; 27.12.2007 в 11:52. |
|
|
|
|
|
# 5 | |
|
Full Member
Регистрация: 11.12.2002
Сообщения: 864
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Если все так просто - накидай эти 10 строк кода. Последний раз редактировалось crawler; 27.12.2007 в 13:16. |
|
|
|
|
|
# 6 |
|
Guest
Сообщения: n/a
|
если есть VisualStudio - создай проект из шаблона Win32 App
посмотри в MSDN: RegisterClassEx() CreateWindowEx() и ещё вариант: создать консоль, вызвав AllocConsole() далее получить хэндл стдаут через GetStdHandle(STD_OUTPUT_HANDLE) теперь использовать WriteFile для записи в консоль |