Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.
Список видов в документе
A: (Leprecon)
Оригинальная ссылка: нету

Перебор видов какого-то документа реализовать очень просто. Для этого в классе документа реализованны две функции:
// Эта функция возвращает позицию первого вида в списке видов документа.
POSITION CDocument::GetFirstViewPosition();
// Эта функция возвращает вид и увеличивает счетчик на еденицу.
CView* CDocument::GetNextView(POSITION& rPosition);


Вот так можно получить все виды данного документа:
void ViewList(CDocument* pDoc)
 
 {
 
     POSITION pos = pDoc->GetFirstViewPosition();
 
     while(pos)
 
     {
 
         CView* pView = pDoc->GetNextView(pos);
 
         // Здесь вы можете делать с каждым видом то, что вам нужно.
 
     }
 
 }
Очень часто нужно добраться до какого-то определенного вида в документе. Например если фрэйм вашего документа разделен сплиттером на два вертикальных вида. Пусть вы используете для левого вида класс CLeftView, а для правого вида класс CMyView, тогда вот как можно получить какой-нибудь определенный вид:
void FindView(CDocument* pDoc)
 
 {
 
     POSITION pos = pDoc->GetFirstViewPosition();
 
     while(pos)
 
     {
 
         CView* pView = pDoc->GetNextView(pos);
 
         if(pView->IsKindOf(RUNTIME_CLASS(CLeftView)))
 
         {
 
             CLeftView* pLeftView = (CLeftView*) pView;
 
             // Добрались до левого вида.
 
 
 
             continue;
 
         }
 
         if(pView->IsKindOf(RUNTIME_CLASS(CMyView)))
 
         {
 
             CMyView* pMyView = (CMyView*) pView;
 
             // Добрались до правого вида.
 
 
 
             continue;
 
         }
 
     }
 
 }

Если есть какие-то замечания, предложения или что-то еще, то пишите:
leprecon@pisem.net.


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS