Re[4]: Не записывать lpszName при CreateWindowEx
От: Vladimir Россия  
Дата: 22.11.18 19:23
Оценка:
Здравствуйте, 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 гектаров не убудет!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.