Здравствуйте, Evgeniy Skvortsov, Вы писали:
ES>Здравствуйте, Vladimir, Вы писали:
V>>Создаю conrol через CreateWindow. Выходит я храню текст два раза, внутри виндов и у себя.
V>>Вот я и хочу избавиться от двойного хранения.
ES>Так не задавай вообще текст окна, передавай NULL, или короткое имя. Ты же его содержимое руками отрисовываешь в своем окне.
ES>Я вообще не вижу связи между именем окна и тем, что на нем нарисовано. А в случае картинки, ты думаешь вся картинка где-то в потрохах хранится?
ES>Имя окна и его визуальное отображение совпадает для стандартных контролов, типа основное окно — там имя окна — его заголовок, ну и всякие кнопки, статики и т.д.
ES>А для твоего контрола это не имеет никакого смысла. Передавай туда любое имя, или пустую строку, а содержимое рисуй сам как хочешь и данные храни как тебе угодно.
Может Вы и правы! Тогда, для работы с моим контролом нужно создать следующую конструкцию:
CreateWindow("MY_EDIT", NULL, ...);
SetWindowText(edit, myText); // это лишнее !!!
...
редактирую текст
...
GetWindowText(edit, myText);
В пояснительной записке надо будет указывать "передавайте NULL в CreateWindow, чтобы зря не расходовать память"
Объемы текста предполагаются очень большие.
А если засунуть в CreateWindow myText, то сколько бы не нужных вопросов отпало!
P.S. Может хрен с этим десятком мегабайт памяти, от 4-8 гектаров не убудет!