| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Сохранение ListCtrl в файл. |
| Автор: SSlavon 6.12.2004, 10:26 |
| Есть данные, которые отображаются в ListCtrl в таблице, их нужно сохранить в файл на диск (желательно сохранять в Word или Exel документ с сохранением таблици). С функцией Serialize(); чет я не разобрался.... Если не сложно, подскажите как это реализовать, или дайте примерчик |
| Автор: alien_by 6.12.2004, 12:41 | ||||||||||||||
| Вообщем самый простой способ, это читать данные из листа с помощью функции GetItemText и писать в файл. Например.
Аналогичным образом (используя InsertItem, а затем SetItemText) читаем из файла.
Для этого читай соответствующую документацию по Active-X или использованию MS Jet драйверов и ATL.
Метод Serialize очень прост, ему как параметр передаётся ссылка на обьект класса, реализующего хранение данных в специальном архивном контейнере. вообщем пример, пусть класс содержит одно поле m_nTestField.
Т.е. функция вызывается каждый раз, когда нужно сохранить либо восстановить поля класса. Чтобы использовать механизм сериализации, это нужно явно указать при обьявлении класса, в прототипе задаётся макрос DECLARE_SERIAL и описывается метод Serialize.
а в реализации исполняется макрос IMPLEMENT_SERIAL и реализация метода Serialize
И ещё одно, если ты не используешь сериализацию в рамках архитектуры Document/View (там есть реализация для поодержки сериализации классов документов), то тебе придётся самому создавать архивный контейнер, это делается прим. так
Аналогично для чтония состояния. |