- •Разработка объектно-ориентированных программ
- •Методические указания
- •1. Методология программирования
- •1.1. Методология объектно-ориентированного
- •1.2. Методология объектно-ориентированного анализа
- •2. Особенности программирования в среде Windows
- •2.1 Разработка объектно-ориентированных программ
- •2.2. Разработка объектно-ориентированных программ
- •4. Лабораторный практикум
- •4.1. Лабораторная работа 1.
- •Общие сведения
- •Лабораторное задание
- •Варианты лабораторных заданий
- •Контрольные вопросы
- •4.2. Лабораторная работа 2.
- •Общие сведения
- •Лабораторное задание
- •Варианты лабораторных заданий
- •4.3. Лабораторная работа 3.
- •Общие сведения
- •Лабораторное задание
- •Варианты лабораторных заданий
- •4.4. Лабораторная работа 4.
- •Общие сведения
- •Лабораторное задание
- •4.5. Лабораторная работа 5.
- •Общие сведения.
- •Лабораторное задание
- •Варианты лабораторных заданий
- •4.6. Лабораторная работа 6.
- •Общие сведения.
- •Лабораторное задание
- •Варианты лабораторных заданий
- •4.7. Лабораторная работа 7.
- •Общие сведения.
- •Лабораторное задание.
- •Приложение а. Спецификации api-функций.
- •Приложение б. Основные классы mfc.
Лабораторное задание.
Работа выполняется на базе всех предыдущих лабораторных работ. Разработать программу из л/р 9 в виде MDI-приложения. Предусмотреть представление каждого списка объектов (см. л/р 1, л/р 2) в виде отдельного документа с отображением и обработкой его в отдельном диалоговом окне.
В работе должны использоваться перегруженные операции и виртуальные функции. Пользовательский интерфейс должен быть построен с использованием меню, панели инструментов и строки состояния. Должна также быть предусмотрена работа с файлами (открыть/сохранить/сохранить как).
Контрольные вопросы.
В чем заключается преимущество MDI-приложения по сравнению с SDI-приложением?
Опишите механизм переключения между документами.
Поясните назначение основных MFC-классов, предназначенных для реализации MDI-интерфейса.
Поясните назначение шаблона документа.
Приложение а. Спецификации api-функций.
Таблица А1. Функции работы с окнами
Наименование |
Описание |
BOOL AdjustWindowRect |
Функция вычисляет необходимый размер оконного прямоугольника, основываясь на желаемом размере клиентского прямоугольника. Параметры: LPRECT lpRect – указатель на структуру с координатами клиентской области DWORD dwStyle – стили окна BOOL bMenu – флаг наличия меню |
BOOL AdjustWindowRectEx |
Функция вычисляет необходимый размер прямоугольника окна с расширенным стилем, основываясь на желаемом размере клиентского прямоугольника Параметры: LPRECT lpRect – указатель на структуру с координатами клиентской области DWORD dwStyle – стили окна BOOL bMenu – флаг наличия меню DWORD dwExStyle – расширенный стиль |
UINT ArrangeIconicWindows |
Функция упорядочивает все минимизированные (в виде иконок) окна указанного родительского окна Параметры: HWND hWnd – дескриптор родительского окна |
HDWP BeginDeferWindowPos |
Функция выделяет память для структуры, содержащей информацию о размере и положении для одного или более окон, и возвращает дескриптор этой структуры. Параметры: int nNumWindows – количество окон |
BOOL BringWindowToTop |
Функция помещает указанное окно в вершину Z -последовательности. Если окно является окном верхнего уровня - оно активизируется. Если окно представляет собой дочернее окно - активизируется родительское окно верхнего уровня Параметры: HWND hWnd – дескриптор окна |
WORD WINAPI CascadeWindows |
Функция располагает каскадом (каскадирует) указанные окна или дочерние окна указанного родительского окна Параметры: HWND hwndParent – дескриптор родительского окна UINT wHow – типы окон, которые не подвергаются каскадированию CONST RECT *lpRect – прямоугольник, в которым каскадируются окна UINT cKids – количество каскадируемых окон const HWND FAR *lpKids – массив дескрипторов окон |
HWND ChildWindowFromPoint |
Функция определяет, какое из дочерних окон, принадлежащих родительскому окну, содержит указанную точку (если таки дочерние окна существуют). Параметры: HWND hWndParent – дескриптор родительского окна POINT Point –структура с координатами точки |
HWND ChildWindowFromPointEx |
Функция определяет, какое из дочерних окон, принадлежащих родительскому окну, содержит указанную точку (если таки дочерние окна существуют). Функция может игнорировать невидимые, не принимающие фокус ввода и прозрачные дочерние окна Параметры: HWND hwndParent – дескриптор родительского окна POINT pt – структура с координатами точки UINT uFlags – флаги игнорирования |
BOOL CloseWindow |
Функция минимизирует (но не разрушает) определенное окно Параметры: HWND hWnd – дескриптор окна |
BOOL EndDeferWindowPos |
Функция одновременно обновляет положение и размер одного или более окон в одном цикле обновления экрана Параметры: HDWP hWinPosInfo – дескриптор внутренней структуры |
HWND FindWindow |
Функция возвращает дескриптор окна верхнего уровня, чье имя класса и имя окна совпадают с заданными строками. Эта функция не ищет дочерние окна. Параметры: LPCTSTR lpClassName – указатель на имя класса LPCTSTR lpWindowName – указатель на имя окна |
HWND FindWindowEx |
Функция извлекает дескриптор окна, чье имя класса и имя окна совпадают с указанными строками. Функция также просматривает дочерние окна, начиная с того, дескриптор которого передан функции в качестве параметра hwndChildAfter Параметры: HWND hwndParent – дескриптор родительского окна HWND hwndChildAfter – дескриптор дочернего окна LPCTSTR lpszClass – указатель на имя класса LPCTSTR lpszWindow – указатель на имя окна |
BOOL GetClientRect |
Функция возвращает координаты клиентской области окна Параметры: HWND hWnd – дескриптор окна LPRECT lpRect – адрес структуры для клиентских координат |
BOOL SetWindowText |
Функция изменяет текст заголовка (если заголовок существует) указанного окна Параметры: HWND hWnd – дескриптор окна или элемента управления LPCTSTR lpString – адрес строки |
Таблица А2. Функции работы с меню
Наименование |
Описание |
DWORD CheckMenuItem |
Функция устанавливает или снимает атрибут отметки пункта меню. Параметры: HMENU hmenu – дескриптор меню UINT uIDCheckItem – пункт меню UINT uCheck – флаги пункта меню |
HMENU CreateMenu |
Функция создает меню. Изначально меню пустое, но оно может быть заполнено пунктами меню, используя функции InsertMenuItem , AppendMenu и InsertMenu . Параметры: нет |
HMENU CreatePopupMenu |
Функция создает выпадающее меню (drop-down menu), подменю (submenu) или меню быстрого вызова (shortcut menu). Меню изначально пустое. Вы можете вставить или добавить пункты меню, используя функцию InsertMenuItem . Вы также можете использовать функцию InsertMenu для вставки пунктов меню и функцию AppendMenu для добавления пунктов меню. Параметры: нет |
BOOL DeleteMenu |
Функция удаляет пункт из заданного меню. Если пункт открывает меню или подменю, эта функция разрушает дескриптор меню или подменю и освобождает используемую ими память. Параметры: HMENU hMenu – дескриптор меню UINT uPosition – позиция пункта меню UINT uFlags – флаг пункта меню |
int GetMenuItemCount |
Функция GetMenuItemCount определяет количество пунктов в указанном меню. Параметры: HMENU hMenu – дескриптор меню |
UINT GetMenuItemID |
Функция извлекает идентификатор пункта меню, находящегося в указанной позиции в меню Параметры: HMENU hMenu – дескриптор меню int nPos – позиция пункта меню |
UINT GetMenuState |
Функция извлекает флаги меню, ассоциированные с указанным пунктом меню. Если пункт меню открывает подменю, функция также возвращает количество пунктов в подменю. Параметры: HMENU hMenu – дескриптор меню UINT uId – запрашиваемый пункт меню UINT uFlags – флаги меню |
BOOL SetMenuItemBitmaps |
Функция связывает указанный битовый образ с пунктом меню. Параметры: HMENU hMenu – дескриптор меню UINT uPosition – пункт меню UINT uFlags – флаги пункта меню HBITMAP hBitmapUnchecked – дескриптор битового образа для неотмеченного состояния HBITMAP hBitmapChecked – дескриптор битового образа для отмеченного состояния |
Таблица А3. Функции работы с диалоговыми окнами
Наименование |
Описание |
HWND CreateDialog |
Макрос создает немодальное диалоговое окно из ресурса - шаблона диалогового окна Параметры: HINSTANCE hInstance – дескриптор экземпляра приложения LPCTSTR lpTemplate – идентифицирует имя шаблона диалогового окна HWND hWndParent – дескриптор окна - владельца DLGPROC lpDialogFunc – указатель на оконную процедуру диалогового окна |
HWND CreateDialogIndirect |
Макрос создает в памяти немодальное диалоговое окно из ресурса - шаблона диалогового окна Параметры: HINSTANCE hInstance – дескриптор экземпляра приложения LPCDLGTEMPLATE lpTemplate –указатель на шаблон диалогового окна HWND hWndParent – дескриптор окна-владельца DLGPROC lpDialogFunc – указатель на оконную процедуру диалогового окна |
HWND CreateDialogIndirectParam |
Функция создает в памяти немодальное диалоговое окно из ресурса - шаблона диалогового окна Параметры: HINSTANCE hInstance – дескриптор экземпляра приложения LPCDLGTEMPLATE lpTemplate – указатель на шаблон диалогового окна HWND hWndParent – дескриптор окна-владельца DLGPROC lpDialogFunc – указатель на оконную процедуру LPARAM – инициализирующее значение |
LRESULT DefDlgProc |
Функция выполняет обработку сообщений по умолчанию для оконной процедуры, принадлежащей определяемому приложением классу диалогового окна Параметры: HWND hDlg – дескриптор диалогового окна UINT Msg – сообщение WPARAM wParam – первый параметр сообщения LPARAM lParam – второй параметр сообщения |
LONG GetDialogBaseUnits |
Функция возвращает базовые координаты диалогового окна, используемые Windows для создания диалоговых окон Параметры: нет |
int GetDlgCtrlID |
Функция возвращает идентификатор заданного элемента управления Параметры: HWND hwndCtl – дескриптор элемента управления |
Таблица А4. Функции работы с таймерами
Наименование |
Описание |
BOOL KillTimer |
Функция разрушает указанный таймер. Параметры: HWND hWnd – дескриптор окна, установившего таймер UINT uIDEvent – идентификатор таймера |
UINT SetTimer |
Функция создает таймер с указанным интервалом срабатывания Параметры: HWND hWnd – дескриптор окна для сообщений таймера UINT nIDEvent – идентификатор таймера UINT uElapse – интервал срабатывания таймера TIMERPROC lpTimerFunc – адрес процедуры таймера |
BOOL QueryPerformanceCounter |
Функция извлекает текущее значение счетчика производительности, если таковой существует. Параметры: LARGE_INTEGER *lpPerformanceCount – адрес текущего значения счетчика |
BOOL QueryPerformanceFrequency |
Функция извлекает частоту счетчика производительности, если таковой существует Параметры: LARGE_INTEGER *lpFrequency – адрес текущей частоты |
void CALLBACK TimeProc |
Функция является функцией обратного вызова, которая вызывается один раз по завершению одиночного события таймера или периодически по завершению периодических событий Параметры: UINT uID – идентификатор события таймера UINT uMsg – зарезервирован. Не используется DWORD dwUser – пользовательские данные DWORD dw1 – зарезервирован. Не используется DWORD dw2 – зарезервирован. Не используется |
MMRESULT timeBeginPeriod |
Функция устанавливает минимальное разрешение мультимедиа таймера для приложения или драйвера устройства Параметры: UINT uPeriod – минимальное разрешение таймера в миллисекундах |
MMRESULT timeEndPeriod |
Функция сбрасывает ранее установленное минимальное разрешение мультимедиа таймера Параметры: UINT uPeriod – минимальное разрешение таймера в миллисекундах |
MMRESULT timeGetDevCaps |
Функция запрашивает мультимедиа таймер для определения его разрешения Параметры: LPTIMECAPS ptc – эта структура заполняется информацией о разрешении мультимедиа таймера UINT cbtc– размер структуры в байтах |
MMRESULT timeGetSystemTime |
Функция извлекает системное время в миллисекундах Параметры: LPMMTIME pmmt – указатель на структуру UINT cbmmt – размер структуры в байтах |
DWORD timeGetTime |
Функция извлекает системное время в миллисекундах Параметры: нет |
MMRESULT timeKillEvent |
Функция отменяет указанное событие таймера Параметры: UINT uTimerID – идентификатор отменяемого события таймера, который был возвращен функцией timeSetEvent в момент установки события таймера |
MMRESULT timeSetEvent |
Функция запускает указанное событие мультимедиа таймера. Мультимедиа таймер выполняется в своем собственном потоке. После активации события, оно вызывает указанную функцию обратного вызова или устанавливает, или вызывает срабатывание указанного события Параметры: UINT uDelay – задержка события в миллисекундах UINT uResolution – разрешение событий таймера в миллисекундах LPTIMECALLBACK lpTimeProc – указатель на функцию обратного вызова, которая вызывается по истечению одиночного события или периодически по истечению периодических событий DWORD_PTR dwUser – определяемые пользователем данные UINT fuEvent – тип события таймера |
Таблица А5. Функции работы с цветом
Наименование |
Описание |
HPALETTE CreatePalette |
Функция создает логическую цветовую палитру. Параметры: CONST LOGPALETTE *lplgpl – указатель на логическую цветовую палитру |
COLORREF GetNearestColor |
Функция возвращает цветовое значение, идентифицирующее цвет из системной палитры, который будет отображаться, когда используется указанное цветовое значение Параметры: HDC hdc – дескриптор контекста устройства COLORREF crColor – подбираемый цвет |
UINT GetSystemPaletteEntries |
Функция извлекает диапазон вхождений в палитру из системной палитры, которая связана с указанным контекстом устройства. Параметры: HDC hdc – дескриптор контекста устройства UINT iStartIndex – первое извлекаемое вхождение в палитру UINT nEntries – количество извлекаемых вхождений в палитру LPPALETTEENTRY lppe – массив, получающий вхождения в палитру |
BOOL ResizePalette |
Функция увеличивает или уменьшает размер логической палитры, основываясь на указанном значении Параметры: HPALETTE hpal – дескриптор логической палитры UINT nEntries – число вхождений в логическую палитру |
BOOL UpdateColors |
Функция обновляет клиентскую область указанного контекста устройства, переустанавливая соответствие текущих цветов в клиентской области текущей реализованной логической палитры Параметры: HDC hdc – дескриптор контекста устройства |
Таблица А6. Функции работы с графикой
Наименование |
Описание |
HBRUSH CreatePatternBrush |
Функция создает логическую кисть с указанным шаблоном в виде битового изображения Параметры: HBITMAP hbmp – дескриптор битового изображения |
HFONT CreateFontIndirect |
Функция создает логический шрифт, характеристики которого определены в указанной структуре. Впоследствии шрифт может быть выбран в качестве текущего шрифта для любого контекста устройства Параметры: CONST LOGFONT *lplf – указатель на структуру логического шрифта |
int GetWindowRgn |
Функция получает копию оконной области окна. Оконная область окна устанавливается вызовом функции SetWindowRgn . Оконная область определяет участок внутри окна, в котором операционная система выполняет рисование Параметры: HWND hWnd – дескриптор окна, чья оконная область извлекается функцией HRGN hRgn – дескриптор области, которая получает копию оконной области |
BOOL SetRectRgn |
Функция преобразует указанную область в прямоугольную область с указанными координатами Параметры: HRGN hrgn – дескриптор области int nLeftRect – x -координата верхнего левого угла int nTopRect – y -координата верхнего левого угла int nRightRect – x -координата нижнего правого угла int nBottomRect – y -координата нижнего правого угла |
BOOL UpdateWindow |
Функция обновляет клиентскую область указанного окна Параметры: HWND hWnd – дескриптор окна |
int GetArcDirection |
Функция возвращает текущее направление рисования дуг для указанного контекста устройства. Функции рисования дуг и прямоугольников используют эту функцию. Параметры: HDC hdc – дескриптор контекста устройства |
VOID CALLBACK LineDDAProc |
Функция используется для обработки координат Параметры: int X – x -координата точки int Y – у-координата точки LPARAM lpData – определяемые приложением данные |
BOOL LineTo |
Функция рисует линию из текущей позиции до указанной точки, не включая ее Параметры: HDC hdc – дескриптор контекста устройства int nXEnd – x -координата завершающей линию точки int nYEnd – y - координата завершающей линию точки |
BOOL MoveToEx |
Функция устанавливает текущей позицией указанную точку и, необязательно, возвращает предыдущую позицию Параметры: HDC hdc – дескриптор контекста устройства int X – x -координата новой текущей позиции int Y – y - координата новой текущей позиции LPPOINT lpPoint – адрес старой текущей позиции |
BOOL Polyline |
Функция рисует серию отрезков прямых, соединяя точки в указанном массиве Параметры: HDC hdc – дескриптор контекста устройства CONST POINT *lppt –адрес массива с точками int cPoints – количество точек в массиве |
BOOL PolylineTo |
Функция рисует серию отрезков прямых, соединяя точки в указанном массиве Параметры: HDC hdc –дескриптор контекста устройства CONST POINT *lppt – адрес массива с точками int cPoints – количество точек в массиве |
BOOL PolyPolyline |
Функция рисует множественные серии соединенных отрезков прямых Параметры: HDC hdc – дескриптор контекста устройства CONST POINT *lppt – адрес массива с точками CONST DWORD *lpdwPolyPoints – адрес массива значений DWORD cCount – число элементов во втором массиве |
int FrameRect |
Функция рисует границу вокруг заданного прямоугольника, используя указанную кисть. Ширина и высота границы всегда равны одной логической единице Параметры: HDC hDC – дескриптор контекста устройства CONST RECT *lprc – указатель на координаты прямоугольника HBRUSH hbr – дескриптор кисти |
HCOLORSPACE CreateColorSpace |
Функция создает логическое цветовое пространство Параметры: LPLOGCOLORSPACE lpLogColorSpace |
int ExcludeClipRect |
Функция создает новую область отсечения, которая состоит из существующей области за вычетом указанного прямоугольника Параметры: HDC hdc – дескриптор контекста устройства int nLeftRect – x -координата верхнего левого угла прямоугольника int nTopRect – y -координата верхнего левого угла прямоугольника int nRightRect – x -координата нижнего правого угла прямоугольника int nBottomRect – y -координата нижнего правого угла прямоугольника |
int GetClipBox |
Функция извлекает размеры наиболее компактного ограничивающего прямоугольника, который может быть нарисован вокруг текущего видимого участка на устройстве. Видимый участок определяется текущей областью отсечения или путем (path) отсечения, так же, как и любые перекрывающиеся окна Параметры: HDC hdc – дескриптор контекста устройства LPRECT lprc – адрес структуры с прямоугольником |
int GetClipRgn |
Функция извлекает дескриптор, идентифицирующий текущую определяемую приложением область отсечения для указанного контекста устройства Параметры: HDC hdc – дескриптор контекста устройства HRGN hrgn – дескриптор области |
int GetMetaRgn |
Функция извлекает текущую метаобласть для указанного контекста устройства Параметры: HDC hdc – дескриптор контекста устройства HRGN hrgn – дескриптор области |
int IntersectClipRect |
Функция создает новую область отсечения из пересечения текущей области отсечения и указанного прямоугольника Параметры: HDC hdc – дескриптор контекста устройства int nLeftRect – x -координата верхнего левого угла прямоугольника int nTopRect – y -координата верхнего левого угла прямоугольника int nRightRect – x -координата нижнего правого угла прямоугольника int nBottomRect – y -координата нижнего правого угла прямоугольника |
int OffsetClipRgn |
Функция перемещает область отсечения контекста устройства на указанные смещения Параметры: HDC hdc – дескриптор контекста устройства int nXOffset – смещение вдоль оси x int nYOffset – смещение вдоль оси y |
BOOL SelectClipPath |
Функция выбирает текущий путь в качестве области отсечения для контекста устройства, объединяя новую область отсечения с существующей, используя указанный режим Параметры: HDC hdc – дескриптор контекста устройства int iMode – режим отсечения |
int SelectClipRgn |
Функция выбирает область в качестве текущей области отсечения для указанного контекста устройства Параметры: HDC hdc – дескриптор контекста устройства HRGN hrgn – дескриптор выбираемой области |
int SetMetaRgn |
Функция пересекает текущую область отсечения для указанного контекста устройства с текущей метаобластью и сохраняет объединенную область как новую метаобласть для указанного контекста устройства. Область отсечения сбрасывается в нулевую область Параметры: HDC hdc – дескриптор контекста устройства |
int CombineRgn |
Функция объединяет две области и сохраняет результат в третьей Параметры: HRGN hrgnDest – дескриптор результирующей области HRGN hrgnSrc 1 – дескриптор исходной области HRGN hrgnSrc 2 – дескриптор исходной области int fnCombineMode – режим объединения областей |
HRGN CreateEllipticRgn |
Функция создает эллиптическую область Параметры: int nLeftRect – x-координата верхнего левого угла ограничивающего прямоугольника int nTopRect –y-координата верхнего левого угла ограничивающего прямоугольника int nRightRect – x-координата нижнего правого угла ограничивающего прямоугольника int nBottomRec – y-координата нижнего правого угла ограничивающего прямоугольника |
HRGN CreateEllipticRgnIndirect |
Функция создает эллиптическую область Параметры: CONST RECT *lprc – указатель на структуру, пределяющую ограничивающий прямоугольник |
HRGN CreatePolygonRgn |
Функция создает многоугольную область Параметры: CONST POINT *lppt –указатель на массив точек int cPoints – число точек в массиве int fnPolyFillMode – режим заполнения многоугольника |
HRGN CreatePolyPolygonRgn |
Функция создает область, состоящую из нескольких прямоугольников. Прямоугольники могут перекрывать друг друга Параметры: CONST POINT *lppt – указатель на массив точек CONST INT *lpPolyCounts – указатель на массив, содержащий количества вершин int nCount – количество целых в массиве количества вершин int fnPolyFillMode – режим заполнения многоугольника |
HRGN CreateRectRgn |
Функция создает прямоугольную область Параметры: int nLeftRect – x-координата верхнего левого угла области int nTopRect – y-координата верхнего левого угла области int nRightRect – x-координата правого нижнего угла области int nBottomRect – y-координата правого нижнего угла области |
HRGN CreateRectRgnIndirect |
Функция создает прямоугольную область Параметры: CONST RECT *lprc – указатель на прямоугольник |
HRGN CreateRoundRectRgn |
Функция создает прямоугольную область с закругленными углами Параметры: int nLeftRect – x -координата верхнего левого угла int nTopRect – y -координата верхнего левого угла int nRightRect – x -координата нижнего правого угла int nBottomRect – y -координата нижнего правого угла int nWidthEllipse – ширина эллипса для закругленных углов int nHeightEllipse – высота эллипса для закругленных углов |
BOOL EqualRgn |
Функция проверяет две указанные области на идентичность. Функция считает области идентичными, если они имеют одинаковые размер и форму. Параметры: HRGN hSrcRgn1 – дескриптор первой области HRGN hSrcRgn2 –дескриптор второй области |
HRGN ExtCreateRegion |
Функция создает область из указанной области и данных трансформации Параметры: CONST XFORM *lpXform – указатель на данные трансформации DWORD nCount – размер структуры, содержащей данные области CONST RGNDATA *lpRgnData – указатель на данные области |
BOOL FillRgn |
Функция заполняет область, используя определенную кисть Параметры: HDC hdc – дескриптор контекста устройства HRGN hrgn – дескриптор заполняемой области HBRUSH hbr – дескриптор кисти, используемой для заполнения области |
BOOL FrameRgn |
Функция рисует рамку вокруг указанной области, используя указанную кисть Параметры: HDC hdc – дескриптор контекста устройства HRGN hrgn – дескриптор области, вокруг которой рисуется рамка HBRUSH hbr – дескриптор кисти, используемой для рисования рамки int nWidth – ширина рамки int nHeight – высота рамки |
int GetPolyFillMode |
Функция извлекает текущий режим заполнения прямоугольника Параметры: HDC hdc – дескриптор контекста устройства |
DWORD GetRegionData |
Функция заполняет указанный буфер данными, описывающими область. Эти данные включают в себя размеры прямоугольника, покрывающего область Параметры: HRGN hRgn – дескриптор области DWORD dwCount – размер буфера, содержащего данные области LPRGNDATA lpRgnData – адрес буфера |
int GetRgnBox |
Функция извлекает ограничивающий прямоугольник указанной области Параметры: HRGN hrgn – дескриптор области LPRECT lprc – адрес структуры, которая получает ограничивающий прямоугольник |
int OffsetRgn |
Функция перемещает область на заданные смещения Параметры: HRGN hrgn – дескриптор области int nXOffset – смещение вдоль оси x int nYOffset –смещение вдоль оси y |
int SetPolyFillMode |
Функция устанавливает режим заполнения многоугольников для соответствующих функций Параметры: HDC hdc – дескриптор контекста устройства int iPolyFillMode – режим заполнения многоугольников |
Таблица А7. Функции работы со строками
Наименование |
Описание |
LPTSTR CharPrev |
Функция возвращает указатель на предшествующий символ в строке Параметры: LPCTSTR lpszStart – указатель на первый символ LPCTSTR lpszCurrent – указатель на текущий символ |
BOOL CharToOem |
Функция преобразует строку в набор символов ОЕМ Параметры: LPCTSTR lpszSrc – указатель на преобразуемую строку LPSTR lpszDst – указатель на буфер для преобразованной строки |
BOOL CharToOemBuff |
Функция преобразует указанное количество символов в строке в набор символов ОЕМ Параметры: LPCTSTR lpszSrc – указатель на преобразуемую строку LPSTR lpszDst – указатель на преобразованную строку DWORD cchDstLength – длина преобразуемой строки в байтах |
UINT GetACP |
Функция возвращает идентификатор текущей кодовой страницы ANSI для системы Параметры: нет |
BOOL GetCPInfo |
Функция извлекает информацию о любой действительной или доступной кодовой странице Параметры: UINT CodePage – идентификатор кодовой страницы LPCPINFO lpCPInfo – адрес структуры для информации |
LCID GetSystemDefaultLCID |
Функция извлекает идентификатор системной локали по умолчанию. Параметры: нет |
LCID GetThreadLocale |
Функция возвращается текущую локаль вызывающего потока Параметры: нет |
BOOL IsValidCodePage |
Функция определяет, является ли действительной указанная кодовая страница Параметры: UINT CodePage – проверяемая кодовая страница |
BOOL SetThreadLocale |
Функция устанавливает текущую локаль вызывающего потока Параметры: LCID Locale – идентификатор локали |