Поиск по сайту:



Проверить аттестат

Мы принимаем Яндекс.Деньги

Смотри также:

Новая таблица умножения - Статья.

Бердский филиал Новосибирского государственного технического университета - Статья.

MSDN по русски. Описание классов C++ .NET - Статья.

MSDN по русски. Описание классов - Статья.

Все новинки...

Статья «MSDN по русски. Описание классов»

Поделиться:

1    2    3    4    5    6    7    8    9    10   

AddString

int AddString(LPCTSTR lpszItem);

Возвращаемое значение
Индекс строки в окне списка, причем первая строка имеет нулевой индекс. Если в процессе работы функции возникла ошибка, то возвращается величина LB_ERR, если эта ошибка была связана с нехваткой памяти для хранения новой строки, то возвращается величина LB_ERRSPACE.
Аргументы

lpszItem - указатель на строку символов, заканчивающуюся нулем, которую необходимо добавить в список.

Описание
Данная функция вызывается для добавления строки в окно списка. Если данное окно списка не имеет стиля LBS_SORT, то строка добавляется в конец списка. В противном случае, строка добавляется в список и после этого список сортируется. Если данное окно списка имеет стиль LBS_SORT, но не имеет стиля LBS_HASSTRINGS, приложение сортирует список, используя вызовы функции CompareItem. Чтобы добавить строку в определенное место в списке, используйте функцию InsertString.
DeleteString

int DeleteString(UINT nIndex);

Возвращаемое значение
Число строк, оставшихся в списке. Если величина аргумента nIndex превышает число строк в окне списка, то возвращается величина LB_ERR.
Аргументы

nIndex - определяет индекс уничтожаемой строки. Индекс первой строки равен нулю.

Описание
Уничтожает элемент в окне списка.
GetCurSel

int GetCurSel() const;

Возвращаемое значение
Индекс выделенной в окне списка строки или LB_ERR, если в данном окне списка нет выделенной строки или данное окно списка допускает одновременное выделение нескольких элементов. Первая в окне списка строка имеет нулевой индекс.
Описание
Позволяет получить индекс выделенной в окне списка строки, если таковая имеется. Функция GetCurSel не должна использоваться в окнах списка, допускающих одновременное выделение нескольких элементов.
GetText

int GetText(int nIndex, LPTSTR lpszBuffer) const;
void GetText(int nIndex, CString& rString) const;

Возвращаемое значение
Длина (в байтах) строки, исключая завершающий ее нулевой символ. Если аргумент nIndex имеет недопустимое значение, возвращается значение LB_ERR.
Аргументы

nIndex - определяет индекс строки, которую необходимо получить. Индекс первой строки равен нулю.
lpszBuffer - указатель на текстовый буфер, в который будет записана полученная строка. Буфер должен иметь достаточный размер для размещения самой строки и завершающего ее нулевого символа. Размер строки может быть определен заранее с помощью вызова функции GetTextLen.
rString - ссылка на объект класса CString.

Описание
Позволяет получить указанную строку из окна списка. Второй вариант данной функции использует для хранения полученной строки объект класса CString.
CListBox::SetSel

int SetSel(int nIndex, BOOL bSelect = TRUE);

Возвращаемое значение
LB_ERR, если при выполнении функции возникла ошибка, и ноль в противном случае.
Аргументы

nIndex - индекс выделяемой строки, причем первая строка имеет нулевой индекс. Если этот аргумент равен -1, то, в зависимости от значения аргумента bSelect, выделяются все строки или снимается выделение со всех строк.
bSelect - определяет режим выделения. Если данный аргумент имеет значение TRUE, то строка выделяется, если - FALSE, то со строки снимается выделение. По умолчанию строка выделяется.

Описание
Выделяет строку в окне списка, допускающем выделение нескольких элементов. Эта функция может использоваться только в окнах списков, допускающих выделение нескольких элементов.
CMap

template< class KEY, class ARG_KEY, class VALUE, class ARG_VALUE >class CMap : public CObject

Аргументы

KEY - класс объектов, используемых в качестве ключей в данной карте отображений.
ARG_KEY - тип данных, используемых в качестве аргументов KEY. Обычно это ссылка на KEY.
VALUE - класс объектов, хранящихся в данной карте отображений.
ARG_VALUE - тип данных, используемых в качестве аргументов VALUE. Обычно это ссылка на VALUE.

Описание
Класс CMap представляет собой класс словарей, в котором для доступа к данным используются уникальные ключи. После того, как в карту отображений будет добавлена пара, состоящая из ключа и элемента, для доступа к ней может быть использовано значение ключа. Кроме того, имеется возможность последовательного просмотра всего содержимого карты отображений. Для этого используется переменная типа POSITION. Эта переменная позволяет "запомнить" текущую позицию в карте и просмотр всей карты. Последовательность просмотра карты отображений никак не связана с последовательностью ключей. Класс CMap включает в себя макрос IMPLEMENT_SERIAL, позволяющий работать с архивом и выводить диагностические сообщения. Независимо от того используется ли для записи в архив перегруженный оператор << или функция Serialize, в архиве сохраняется каждый элемент карты отображений. При необходимости вывести диагностическую информацию об отдельном элементе карты отображений, необходимо указать глубину объекта CDumpContext равной 1 или большей величине. При уничтожении объекта класса CMap или при удалении из него элементов уничтожаются как ключи, так и связанные с ними объекты. Описание данного класса содержится в файле заголовка afxtempl.h.
GetNextAssoc

void GetNextAssoc(POSITION& rNextPosition, KEY& rKey, VALUE& rValue) const;

Аргументы

rNextPosition - ссылка на величину типа POSITION, возвращенную при предыдущем вызове функцией GetNextAssoc или GetStartPosition.
KEY - параметр шаблона, определяющий тип значения ключа.
rkey - определяет ключ, по которому осуществляется доступ к элементу.
VALUE - определяет тип искомой переменной.
rValue - содержит значение искомой переменной.

Описание
Позволяет получить ключ и элемент карты отображений, расположенные в позиции, определяемой аргументом rNextPosition. После этого производится обновление значения rNextPosition, которое теперь указывает на следующий элемент в карте отображений. При этом последовательность перебора элементов карты отображений не имеет ничего общего с последовательностью ключей. Если получено значение последнего элемента в карте отображений, величина rNextPosition принимает значение NULL.
GetStartPosition

POSITION GetStartPosition() const;

Возвращаемое значение
Значение типа POSITION, определяющее начальную позицию для поиска по карте отображений, или NULL, если карта пуста.
Описание
Инициирует процесс поиска по карте отображений, возвращая значение типа POSITION, которое может быть использовано при вызове функции GetNextAssoc. Последовательность просмотра карты отображений непредсказуема, поэтому первый элемент карты ничем особым не отличается от других.
IsEmpty

BOOL IsEmpty() const;

Возвращаемое значение
Ненулевое, если карта отображений не содержит элементов, и ноль в противном случае.
Описание
Использование данной функции позволяет определить, не пуста ли карта отображений.
Lookup

BOOL Lookup(ARG_KEY key, VALUE& rValue) const;

Возвращаемое значение
Ненулевое, если элемент был найден, и нулевое в противном случае.
Аргументы

ARG_KEY - параметр шаблона, определяющий тип значения ключа.
key - определяет ключ, по которому осуществляется доступ к элементу.
VALUE - определяет тип искомой переменной.
rValue - содержит значение искомой переменной.

Описание
Функция Lookup использует хеширование для быстрого поиска элемента карты отображений по заданному ключу.

operator [ ]
VALUE& operator[](ARG_KEY key);

Аргументы

VALUE - определяет тип элемента карты отображений.
ARG_KEY - параметр шаблона, определяющий тип значения ключа.
key - определяет ключ, по которому осуществляется доступ к элементу.

Описание
Этот оператор может использоваться вместо функции SetAt. Он может использоваться только в левой части оператора присваивания. Если в карте отображений не существует элемента, соответствующего данному ключу, то создается новый элемент. Поскольку нет никакой гарантии, что указанному ключу соответствует элемент в карте отображений, данный оператор не может использоваться в правой части оператора присваивания. Для получения элемента по ключу следует использовать функцию Lookup.
RemoveKey

BOOL RemoveKey(ARG_KEY key);

Возвращаемое значение
Ненулевое, если элемент найден и успешно уничтожен, и нулевое в противном случае.
Аргументы

ARG_KEY - шаблон, определяющий тип ключа.
key - ключ удаляемого элемента.

Описание
Данная функция производит поиск элемента карты отображений, соответствующего заданному ключу, и, в случае успешного завершения поиска, удаляет его. Для удаления элемента используется вспомогательная глобальная функцияDestructElements.
RemoveAll

void RemoveAll();

Описание
Данная функция уничтожает все элементы карты отображений, вызывая вспомогательную глобальную функцию DestructElements. Эта функция работает корректно, если карта отображений уже пуста.
CMemoryState
Класс CMemoryState используется для выявления утечек памяти в приложении. Утечки памяти возникают в тех случаях, когда выделенная под объект область памяти не освобождается после завершения работы с этим объектом. Утечки памяти могут привести к возникновению ошибок при выполнении приложения или к исчерпанию ресурса свободной памяти. Память может выделяться и освобождаться различными способами:

с использованием функций malloc и free в библиотеках времени исполнения приложения;
с использованием функций Windows API LocalAlloc и LocalFree или GlobalAlloc и GlobalFree;
с использованием операций C++ new и delete.

Функции класса CMemoryState позволяют обнаруживать только утечки памяти, связанные с использованием операций C++, поскольку программисты Microsoft, очевидно, уверены, что их программы к утечкам памяти никакого отношения иметь не могут. Нам бы их уверенность. Для получения дополнительной информации используется макрос DEBUG_NEW, заменяющий стандартную операцию new ee отладочной версией. Использование этой версии позволяет сохранять информацию о том, в каком файле и в какой его строке был выделен каждый из блоков памяти. Как и любые другие диагностические функции, методы класса CMemoryState работают только в отладочной версии приложения, отличающейся тем, что в ней определена константа _DEBUG. При поиске утечек памяти используются функции Checkpoint, Difference и DumpStatistics, позволяющие выявить различия в состоянии памяти в различных точках приложения. Если информации, полученной при этих сравнениях, окажется недостаточно для выявления источника утечек памяти, для получения дополнительной информации может быть вызвана функция DumpAllObjectsSince, выводящая информацию по всем объектам, память для которых была выделена после последнего вызова функции Checkpoint. Объекты в распечатке будут располагаться в порядке выделения для них оперативной памяти и для каждого из них будет указан файл и строка, в которой произошло выделение памяти, (если в программе использован макросDEBUG_NEW), происхождение объекта, его адрес и размер. Кроме того, функция DumpAllObjectsSince вызывает для каждого объекта его функцию Dump, выводящую информацию о его текущем состоянии. Объявление объекта типа CMemoryState и вызов его функций должен производиться между директивами #if defined(_DEBUG) и #endif, что обеспечит обращение к ним только в отладочной версии приложения. Описание данной структуры содержится в файле заголовка afx.h.
Checkpoint

void Checkpoint();

Описание
Данная функция позволяет сохранить текущее состояние оперативной памяти и в данном объекте класса CMemoryState. Полученная информация анализируется в функциях Difference и DumpAllObjectsSince.
Difference

BOOL Difference(const CMemoryState& oldState, const CMemoryState& newState);

Возвращаемое значение
Ненулевое, если два объекта содержат различную информацию, и нулевое в противном случае.
Аргументы

oldState - исходное состояние памяти.
newState - новое состояние памяти.

Описание
Данная функция позволяет сравнить два состояния оперативной памяти, сохраненные с использованием функций Checkpoint в своих объектах CMemoryState.
DumpAllObjectsSince

void DumpAllObjectsSince() const;

Описание
Вызывает функцию Dump для всех объектов, производных от класса CObject, память для которых была выделена и не освобождена с момента последнего вызова функции Checkpoint для данного объекта класса CMemoryState. Если для данного объекта функция Checkpoint еще не вызывалась, то в распечатку будут включены все объекты, находящиеся в настоящее время в оперативной памяти.
CMenu
Класс CMenu используется для работы с дескрипторами HMENU Windows. Он содержит функции для создания, отслеживания, обновления и уничтожения меню. Объект класса CMenu следует локально создавать в стеке. После этого необходимо вызвать функцию CWnd::SetMenu для замены меню в окне и сразу же вызвать функцию CMenu::Detach. Функция CWnd::SetMenu устанавливает в окне новое меню, вызывая его перерисовку для отображения нового меню, а также передает окну права собственности на меню. Функция Detach освобождает дескриптор HMENU из объекта класса CMenu, так что, при уничтожении данного объекта класса CMenu деструктор не попытается уничтожить меню, на которое он уже не имеет права собственности. Само меню уничтожается деструктором окна при его закрытии. Функция LoadMenuIndirect создает меню по шаблону, хранящемуся в памяти, однако, с меню, созданным функцией LoadMenu с использованием ресурсов, намного проще работать, а ресурсы меню могут создаваться и изменяться в редакторе меню. Описание данного класса содержится в файле заголовка afxwin.h.
GetMenuContextHelpId

DWORD GetMenuContextHelpId() const;

Возвращаемое значение
Если с данным объектом класса CMenu связан идентификатор контекстной справки, возвращает этот идентификатор. В противном случае возвращает нулевое значение.
Описание
Данная функция позволяет получить идентификатор контекстной справки, связанный с данным объектом класса CMenu.
SetMenuContextHelpId

BOOL SetMenuContextHelpId(DWORD dwContextHelpId);

Возвращаемое значение
Ненулевое, в случае успешного завершения работы, и нулевое в противном случае.
Аргументы

dwContextHelpId - идентификатор контекстной справки, связываемый с данным объектом класса CMenu.

Описание
Данная функция связывает идентификатор контекстной справки с объектом класса CMenu. Этот идентификатор разделяют все команды данного меню. Отсутствует возможность назначить идентификатор контекстной справки отдельной команде данного меню.
CMonthCalCtrl
Класс CMonthCalCtrl используется для работы с элементом управления, содержащим календарь на месяц. Используя интерфейс этого элемента управления пользователь может выбирать любую дату в текущем месяце или перейти к любому месяцу любого года. Для изменения формы отображения пользователь может предпринять следующие действия:

просматривать месяцы вперед и назад;
щелкните правой кнопкой мыши на элементе управления (если не используется стиль MCS_NOTODAY) и в появившемся контекстном меню выбрать единственную команду К сегодняшней дате, в результате в элементе управления будет отображен текущий месяц, а в нем будет выделена текущая дата;
выбрать месяц и год из контекстного меню (вопрос только как его вывести).

При создании данного элемента управления для него могут быть заданы следующие стили:

MCS_DAYSTATE - определяет, что элемент управления должен запрашивать информацию о том, какие дни недели нужно выделять жирным шрифтом. Для этого он посылает извещение MCN_GETDAYSTATE;
MCS_MULTYSELECT - позволяет пользователю задавать диапазон дат;
MCS_NOTODAY - в нижней части элемента управления не выводится текущая дата;
MCS_NOTODAYCIRCLE - текущая дата не обводится;
MCS_WEEKNUMBERS - Слева от каждой строки дней выводится номер недели (от 1 до 52).
При своей работе этот элемент управления может посылать родительскому окну некоторые извещения. Наиболее интересные из них приведены ниже: MCN_GETDAYSTATE - элемент управления запрашивает о необходимости выделения некоторых дней жирным шрифтом;
MCN_SELCHANGE - изменилась текущая дата или диапазон дат;
MCN_SELECT - пользователь выбрал конкретную дату в календаре.

Описание данного класса содержится в файле заголовка afxdtctl.h
GetCurSel

BOOL GetCurSel(COleDateTime& refDateTime) const;
BOOL GetCurSel(CTime& refDateTime) const;
BOOL GetCurSel(LPSYSTEMTIME pDateTime) const;

Возвращаемое значение
Ненулевое, если функция завершилась успешно, и нулевое в противном случае.
Аргументы

refDateTime - ссылка на объект класса COleDateTime или на объект класса CTime, в который будет записана информация о дате.
pDateTime - указатель на объект структуры SYSTEMTIME, в который будет записана информация о дате.

Описание
Позволяет получить информацию о системном времени, выделенную в соответствующем элементе управления. Эта функция выполняет те же действия, что и сообщение Win32 MCM_GETCURSEL. При реализации в библиотеке MFC функция SetCurSelможет получать информацию не только из объекта структуры SYSTEMTIME, но и из объектов классов COleDateTime и CTime. Если в элементе управления установлен флаг MCS_MULTISELECT выполнение данной функции завершается с ошибкой.
SetCurSel

BOOL SetCurSel(const COleDateTime& refDateTime); BOOL SetCurSel(const CTime& refDateTime); BOOL SetCurSel(const LPSYSTEMTIME pDateTime);

Возвращаемое значение
Ненулевое, если функция завершилась успешно, и нулевое в противном случае.
Аргументы

refDateTime - ссылка на объект класса COleDateTime или на объект класса CTime, содержащий информацию о выделяемой дате.
pDateTime - указатель на объект структуры SYSTEMTIME, содержащий информацию о выделяемой дате.

Описание
Выделяет указанную дату в элементе управления календаря. Эта функция выполняет те же действия, что и сообщение Win32 MCM_SETCURSEL. При реализации в библиотеке MFC функция SetCurSel может получать информацию не только из объекта структуры SYSTEMTIME, но и из объектов классов COleDateTime и CTime.
CObArray
Класс CObArray представляет собой класс массива указателей на объект класса CObject. Этот массив объектов аналогичен массивам языка C, но способен динамически изменять свой размер.
Индекс первого элемента массива всегда равен 0. Пользователь может зафиксировать верхнюю границу массива или позволить ему расти при добавлении новых элементов, если их индекс превышает его верхнюю границу. Для данного массива всегда выделяется единая область памяти, даже в том случае, когда отдельные его элементы не используются.
При использовании Win32 размер объекта класса CObArray определяется только доступной областью памяти. Как и в случае массивов языка C, время доступа к любому элементу массива CObArray постоянно и не зависит от размера массива.
Класс CObArray включает в себя макрос IMPLEMENT_SERIAL, позволяющий работать с архивом и выводить диагностические сообщения. Если массив указателей на объекты класса CObject сохраняется в архиве, независимо от того используется ли для этого перегруженный оператор << или функция Serialize, то в архиве сохраняется каждый объект класса CObject, для чего вызывается его собственная функция Serialize, и его индекс в массиве.
При необходимости вывести диагностическую информацию об отдельном объекте класса CObject, хранящегося в массиве, необходимо указать глубину объекта CDumpContext равной 1 или большей величине.
При уничтожении объекта класса CObArray или при удалении из него элементов уничтожаются только указатели на объекты класса CObject, а не сами объекты, на которые ссылаются данные указатели.
Прежде чем использовать массив, необходимо вызвать функцию SetSize для установки его размера и резервирования необходимой памяти. Если при создании массива не использовалась функция SetSize, то при добавлении в него элементов часто будет производиться перераспределение памяти и копирование массива, что может привести к замедлению работы программы и к фрагментации памяти.
Для работы с архивом необходимо использовать макрос IMPLEMENT_SERIAL для данного класса.
Описание данного класса содержится в файле заголовка afxcoll.h.
Add

int Add(CObject* newElement); throw(CMemoryException);

Возвращаемое значение
Индекс добавленного в массив элемента.
Аргументы

newElement - указатель на объект класса CObject, добавляемый в массив.

Описание
Добавляет новый элемент в конец массива, увеличивая его размер на 1. Если в функции SetSize аргумент nGrowBy имеет значение больше 1 и увеличение размера массива на 1 привело к выходу за пределы отведенной ему памяти, то для массива выделяется дополнительная память, в которую могут быть записаны новые элементы без новой операции выделения памяти, размер которой определяется аргументом nGrowBy функции SetSize. Соответствующие функции, отличающиеся только типом своих аргументов, имеются в классах CByteArray, CDWordArray, CPtrArray, CStringArray, CUIntArray и CWordArray.
GetSize

int GetSize() const;

Возвращаемое значение
Размер массива.
Описание
Возвращает размер массива. Поскольку первый элемент массива имеет нулевой индекс, размер массива всегда на 1 превышает максимальный индекс элемента массива. Идентичная функция имеется в классах CByteArray, CDWordArray, CPtrArray,CStringArray, CUIntArray и CWordArray.
GetUpperBound

int GetUpperBound() const;

Возвращаемое значение
Максимальный индекс элемента массива. Если возвращаемое значение равно -1, то данный массив не содержит элементов.
Описание
Возвращает максимальный индекс элемента массива. Поскольку первый элемент массива имеет нулевой индекс, максимальный индекс элемента массива всегда на 1 меньше, чем размер массива. Идентичная функция имеется в классах CByteArray,CDWordArray, CPtrArray, CStringArray, CUIntArray и CWordArray.

operator [ ] CObject*& operator [](int nIndex);  CObject* operator [](int nIndex) const;

Описание
Эти операторы могут использоваться вместо функций SetAt и GetAt. Первый оператор используется для обычных массивов и может вызываться как с левой, так и с правой стороны от оператора присваивания. Второй оператор используется для массивов констант и может вызываться только с правой стороны оператора присваивания. В отладочной версии библиотеки производится проверка того, что используемый индекс массива находится в разрешенном диапазоне значений. Соответствующие операторы, отличающиеся только типом своих возвращаемых значений, имеются в классах CByteArray, CDWordArray, CPtrArray, CStringArray, CUIntArray и CWordArray.
RemoveAll

void RemoveAll();

Описание
Удаляет все указатели из массива, но не уничтожает сами объекты класса CObject. Если массив уже пуст, функция все равно работает. Функция RemoveAll освобождает всю память, используемую для хранения указателей. Идентичная функция имеется в классах CByteArray, CDWordArray, CPtrArray, CStringArray, CUIntArray и CWordArray.
SetSize

void SetSize(int nNewSize, int nGrowBy = -1); throw(CMemoryException);

Аргументы

nNewSize - новый размер массива (количество элементов). Должен иметь значение большее или равное 0.
nGrowBy - минимальное количество элементов, на которое будет увеличен размер массива при необходимости.

Описание
Устанавливает размер пустого или существующего массива. Выделяет память в случае необходимости. Если новый размер массива меньше его прежнего размера, то массив усекается и вся неиспользуемая память освобождается. Для повышения производительности приложений, использующих массив, необходимо вызвать функцию SetSize до начала работы с ним. Правильный выбор ее аргументов позволит исключить или существенно уменьшить объем операций по перераспределению памяти и копирования массива при добавлении к нему элементов. Аргумент nGrowBy влияет только на распределение памяти при увеличении размеров массива. Его значение никак не отражается на возвращаемых значениях функций GetSize и GetUpperBound. Идентичная функция имеется в классах CByteArray, CDWordArray, CPtrArray, CStringArray, CUIntArray и CWordArray.
CObject
Класс CObject является одним из основных классов Microsoft Foundation Class Library. Он является базовым классом не только для классов библиотек, таких как CFile и CObList, но и для многих пользовательских классов. Использование классаCObject позволяет:

работать с архивами;
создавать классы в процессе выполнения приложения;
производить диагностику объектов;
обеспечивать совместимость с классами коллекций.

Класс CObject не поддерживает множественное наследование. Создаваемые на его основе классы могут иметь в качестве базового класса только класс CObject, и этот класс должен быть самым старшим в иерархии. Для того чтобы воспользоваться всеми возможностями, предоставляемыми классом CObject необходимо использовать специальные макросы при объявлении и реализации производных от него классов. Макросами первого уровня являются DECLARE_DYNAMIC и IMPLEMENT_DYNAMIC, обеспечивающие доступ к имени класса и его положению в иерархии в процессе выполнения приложения. Это, в свою очередь, позволяет создавать осмысленные диагностические сообщения. Макросами второго уровня являются DECLARE_SERIAL иIMPLEMENT_SERIAL, обладающие всеми возможностями макросов первого уровня, но обеспечивающие возможность работы с архивами. Описание данного класса содержится в файле заголовка afx.h. Функции данного класса используются во всех демонстрационных приложениях, приведенных в данной книге.
AssertValid

virtual void AssertValid() const;

Описание
Функция CObject::AssertValid служит для целей отладки и производит проверку данного объекта на допустимость значений хранимых в нем величин. В отладочной версии библиотеки данная функция может посредством вызова исключения прервать выполнение программы и вывести сообщение, в котором будет указано имя файла программы и номер строки, из которой было вызвано исключение. При написании пользовательского класса необходимо перегрузить функцию AssertValid и поместить в ней необходимые проверки на допустимость значений хранящихся в объекте величин. Обычно, первым оператором перегруженной функции AssertValid является вызов соответствующей функции базового класса. Поскольку функцияAssertValid является функцией-константой, пользователь не может изменять значения величин в проверяемом объекте. Перегруженная версия данной функции не должна сама вызывать исключения, а должна только сообщать, допустима ли данная комбинация параметров в объекте класса или нет. Понятие допустимости зависит от самого класса. Как правило, осуществляется только "поверхностная проверка". Так, например, если класс содержит указатели на другие объекты, то проверяется только тот факт, что эти указатели не нулевые, но не проверяется допустимость объектов, на которые они указывают.
Dump

virtual void Dump(CDumpContext& dc) const;

Аргументы

dc - объект класса, осуществляющего потоковый вывод отладочной информации. Обычно это используемый по умолчанию объект afxDump.

Описание
Передает содержимое пользовательского объекта в объект класса CDumpContext. При создании пользовательского класса необходимо перегрузить функцию Dump, чтобы обеспечить выдачу диагностических сообщений об ошибках, произошедших в объекте данного класса. Обычно, первым оператором перегруженной функции является вызов соответствующей функции базового класса. Функция CObject::Dump печатает имя класса, если при его создании использовались макросыIMPLEMENT_DYNAMIC или IMPLEMENT_SERIAL. При выводе пользовательской информации перегруженная функция Dump не должна использовать символа перевода каретки в конце своей работы. Данная функция работает только в отладочной версии библиотеки MFC и ее описание должно располагаться между операторами условной трансляции #ifdef _DEBUG и #endif. Поскольку функция Dump является функцией-константой, пользователь не может изменять значения величин в проверяемом объекте. Функция Dump вызывается перегруженным оператором записи объекта CDumpContext::operator << при записи указателя на объект класса CObject. Функция Dump не предполагает рекуррентности, то есть пользователь может распечатать список объектов, но если один из объектов сам является списком, то его содержимое не будет распечатано.
Serialize

virtual void Serialize(CArchive& ar);
throw(CMemoryException);
throw(CArchiveException);
throw(CFileException);

Аргументы

ar - объект класса CArchive осуществляющий чтение и запись объекта на диске.

Описание
Читает объект с диска и записывает его на диск в с использованием объекта класса архива. Данная функция должна быть перегружена в каждом производном классе, предполагающем работу с архивом. Первым оператором перегруженной функции должен быть вызов функции Serialize базового класса. Для того, чтобы иметь возможность использовать данную функцию в своем классе, при его описании в файле заголовка должен быть использован макрос DECLARE_SERIAL, а в его файле реализации - макрос IMPLEMENT_SERIAL. Для того, чтобы определить, какая операция производится в данном случае, используются функции CArchive::IsLoading и CArchive::IsStoring. Функция Serialize вызывается функциямиCArchive::ReadObject и CArchive::WriteObject, которые, в свою очередь, вызываются переопределенными операторами CArchive::operator << и CArchive::operator >>, первый из которых производит запись объекта в архив, а второй - извлечение объекта из архива.
CPrintInfo
Класс CPrintInfo используется для хранения информации о текущем задании принтера. Приложение создает объект класса CPrintInfo при выборе команд меню File|Print (Файл|Печать) или File|Print Preview (Файл|Предварительный просмотр) и уничтожает его при завершении выполнения этих команд.
Объект класса CPrintInfo содержит информацию, касающуюся как всего процесса печати, например, диапазон печатаемых страниц, так и статус текущего задания, например, номер печатаемой страницы. Некоторая информация, касающаяся процесса печати, хранится, также, в связанном с данным объектом класса CPrintInfo объекте класса CPrintDialog, хранящем информацию об установках пользователя в диалоговом окне Печать.
Объект класса CPrintInfo передается приложением в объект пользовательского класса представления и служит для обмена информацией между этими классами. Например, приложение передает объекту класса представления номер текущей печатаемой страницы в переменной данного класса m_nCurPage. Объект класса представления использует данную величину для определения того, какую страницу следует печатать.
Другим примером использования объекта класса CPrintInfo является случай, когда размер документа не известен заранее и должен быть определен в процессе печати. В этом случае по достижении конца документа объект класса представления присваивает переменной m_bContinuePrinting, являющейся членом класса CPrintInfo, значение FALSE, тем самым информируя приложение о завершении процесса печати.
Класс CPrintInfo не имеет базового класса.
Описание данного класса содержится в файле заголовка afxext.h.
GetFromPage

UINT GetFromPage() const;

Возвращаемое значение
Возвращает номер первой печатаемой страницы документа.
Описание
Позволяет получить номер первой печатаемой страницы документа. Это значение задается пользователем в диалоговом окне Печать и сохраняется в объекте класса CPrintDialog, указатель на который содержится в переменной m_pPD объекта класса CPrintInfo. Если пользователь не задал первую печатаемую страницу, то печать начинается с первой страницы документа.
GetMinPage

UINT GetMinPage() const;

Возвращаемое значение
Возвращает номер первой страницы документа.
Описание
Позволяет получить номер первой страницы документа. Это значение задается пользователем в диалоговом окне Печать и сохраняется в объекте класса CPrintDialog, указатель на который содержится в переменной m_pPD объекта классаCPrintInfo.
GetMaxPage

UINT GetMaxPage() const;

Возвращаемое значение
Возвращает номер последней страницы документа.
Описание
Позволяет получить номер последней страницы документа. Это значение задается пользователем в диалоговом окне Печать и сохраняется в объекте класса CPrintDialog, указатель на который содержится в переменной m_pPD объекта классаCPrintInfo.
GetToPage

UINT GetToPage() const;

Возвращаемое значение
Возвращает номер последней печатаемой страницы документа.
Описание
Позволяет получить но мер последней печатаемой страницы документа. Это значение задается пользователем в диалоговом окне Печать и сохраняется в объекте класса CPrintDialog, указатель на который содержится в переменной m_pPD объекта класса CPrintInfo. Если пользователь не задал последнюю печатаемую страницу, то печать производится до конца документа.
SetMaxPage

void SetMaxPage(UINT nMaxPage);

Аргументы

nMaxPage - номер последней страницы в документе.

Описание
Данная функция позволяет задать номер последней страницы в документе. Это значение будет храниться в переменной m_pPD класса CPrintDialog. Если размер документа известен до начала процесса печати, то эта функция вызывается в функцииCView::OnPreparePrinting. Если же размер документа зависит от установок пользователя сделанных им в диалоговом окне Печать, то эта функция вызывается из функции CView::OnBeginPrinting. Если же размер документа не может быть определен до завершения процесса печати, то для завершения этого процесса используется переменная m_bContinuePrinting.
CProgressCtrl
Линейный индикатор представляет собой окно, которое может быть использовано приложением для индикации степени завершения некоторой длинной операции. Данный элемент управления представляет собой прямоугольник, который заполняется системным цветом в направлении слева направо по мере завершения операции.
Класс CProgressCtrl обеспечивает функционирование линейного индикатора в операционной системе Windows. Этот элемент управления (а следовательно и класс CProgressCtrl) может быть использован только в программах, работающих под управлением операционных систем Windows 95 и Windows NT версии 3.51 и более поздних версий данных операционных систем.
Линейный индикатор характеризуется диапазоном отображаемых величин и своей текущей позицией. Диапазон отображаемых величин соответствует всему объему работы, выполняемому данной операцией, а текущая позиция характеризует ту часть работы, которую данная операция проделала на данный момент. Процедура окна линейного индикатора использует значения диапазона и текущей позиции для того, чтобы определить какую часть окна необходимо заполнить системным цветом и какой текст вывести в окне (если в данном окне предусмотрен вывод текста). Поскольку для задания диапазона и текущей позиции используются целые числа со знаком, нижняя граница диапазона не может быть меньше, чем -217483648, а верхняя граница диапазона не может быть больше, чем 217483647.
Описание данного класса содержится в файле заголовка afxcmn.h.
Create

BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);

Возвращаемое значение
TRUE, если был создан объект класса CProgressCtrl, в противном случае - FALSE.
Аргументы

dwStyle - определяет стиль линейного индикатора. Окно линейного индикатора всегда создается как дочернее окно, родительским окном которого, обычно, является диалоговое окно. Данный аргумент может представлять собой любую допустимую комбинацию стандартных стилей окна, однако все стили, кроме перечисленных ниже будут игнорироваться:
WS_BORDER - создает рамку вокруг окна;
WS_CHILD - создает дочернее окно (обязательный стиль для объекта класса CProgressCtrl);
WS_CLIPCHILDREN - исключает области, занимаемые дочерними окнами из области перерисовки родительского окна. Задается при создании объекта класса родительского окна;
WS_CLIPSIBLINGS - исключает области, занимаемые другими дочерними окнами из области перерисовки данного дочернего окна;
WS_DISABLED - создает неактивное окно;
WS_VISIBLE - создает окно, которое сразу же отображается на экране;
WS_TABSTOP - включает данное окно в последовательность окон, по которой можно перемещаться путем нажатия клавиши TAB.
Кроме данных стилей, линейный индикатор использует два дополнительных стиля:
PBS_VERTICAL - ориентирует полосу линейного индикатора в вертикальном направлении и ее заполнение производится сверху вниз. Если этот флаг не установлен, полоса линейного индикатора располагается в горизонтальном направлении и ее заполнение производится слева направо;
PBS_SMOOTH - отображает сплошную полосу линейного индикатора. По умолчанию полоса линейного индикатора разделена на блоки.
rect - определяет размер и положение линейного индикатора. Этот аргумент может представлять собой объект класса CRect или объект структуры RECT. Поскольку данный элемент управления представляет собой дочернее окно, определяемые в данном аргументе координаты являются относительными и определяются системой координат, установленных в родительском окне.
pParentWnd - указатель на объект класса родительского окна, обычно это объект класса CDialog. Данный аргумент не может иметь нулевого значения.
nID - идентификатор ресурса линейного индикатора.

Описание
Создание объекта класса CProgressCtrl состоит из двух этапов: на первом этапе вызывается конструктор, создающий объект класса CProgressCtrl, а на втором этапе вызывается функция Create, создающая связанное с ним окно.