В данном случае речь пойдет о визуальном эффекте , который присутствует не только в визуал си но и в других редакторах для различных языков программирования. Выглядит как плюсик или минусик , при нажатии на который текст либо сварачивается , либо раскрывается. Вопрос собственно стоит так ... как это можно реализовать и как это реализуется в визуал студии скажем. Сэнкс
yurza Точно не это calidus На ум приходит только мысль вырезать/вставлять куски текста, оригинальный текст где-то хранить в памяти...
calidus, написать свой компонент для редактирования текста, хранить список строк, пропускаемых при отрисовке. Странный вопрос… PS: из готового Scintilla умеет вроде.
Текстовый файл представлен как список (ну или лучше вектор) объектов. Каждый объект - одна строка текста. Естественно, в объекте есть кроме самого текста, некоторые флаги, например, если строка содержит метку - там флаг метки стоит, для навигации. Ну, и т.д. Кроме флагов, каждая строка содержит пойнтер на список свёрнутых строк. Если пойнтер = 0, значит свёртки нет на этой строке. Когда свёртка делается, блок строк отцепляется от главного вектора строк и переносится в пойнтер. Ну и обратная операция - из пойнтера строки опять вставляются в главный вектор а сам пойнтер - в ноль. Единственно, заморочно делать операции со свёрнутым текстом.
iZzz32 Сэнкс =) я был там уже ... вот тут http://www.scintilla.org/SciTEImage.html но малоли есть альтернативный вариант.. там сишка ..лень ее разбирать я на асме чаще сижу