| imho.ws | 
|  |   | 
|  26.12.2007, 21:17 | # 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. | 
|   | 
|  27.12.2007, 08:15 | # 2 | 
| Junior Member Регистрация: 19.04.2002 Адрес: ДомПол: Male 
					Сообщения: 187
				         | 
			
			А в чем собственно проблема-то? Создай в ресурсах окошко, например с RichEdit'ом, а в конструкторе класса делай CreateWindow(), потом когда надо ShowWindow(SW_SHOw/SW_HIDE). После создания получаешь хендл RichEdit'а и когда надо что-то вставить в текстовую облать, отсылаешь RichEdit'у сообщение через SendMessage(), какие параметры можно посмотреть в MSDN... Очистка тоже через SendMessage. 
				__________________ Дураки не динозавры - они не вымрут... | 
|   | 
|  27.12.2007, 11:03 | # 3 | |
| Full Member Регистрация: 11.12.2002 
					Сообщения: 864
				           | 
			
			проблема собсно в "создать". RichEdit даже не нужен, достаточно обычного TextEdit ( или StaticText ).  Цитата: 
 И еще - как создать это окошко чтобы оно висело "поверх" всего остального? Последний раз редактировалось crawler; 27.12.2007 в 11:52. | |
|   | 
|  27.12.2007, 13:09 | # 5 | |
| Full Member Регистрация: 11.12.2002 
					Сообщения: 864
				           | Цитата: 
 Если все так просто - накидай эти 10 строк кода. Последний раз редактировалось crawler; 27.12.2007 в 13:16. | |
|   | 
|  27.12.2007, 13:17 | # 6 | 
| Guest 
					Сообщения: n/a
				 | 
			
			если есть VisualStudio - создай проект из шаблона Win32 App посмотри в MSDN: RegisterClassEx() CreateWindowEx() и ещё вариант: создать консоль, вызвав AllocConsole() далее получить хэндл стдаут через GetStdHandle(STD_OUTPUT_HANDLE) теперь использовать WriteFile для записи в консоль |