Меню сайта
Категории раздела
| HTML [44] |
| Visual C++ и MFC [21] |
| c++ [78] |
| php [19] |
| Javascript [15] |
| C# [51] |
| загрузки [0] |
|
XNA [10]
создание игр с помощью xna
|
Наш опрос
Друзья сайта
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реклама
| Главная » Статьи » Visual C++ и MFC |
Часто встречаемые классы. CPoint, CSize, CRect, CString
В данном разделе вы познакомитесь с наиболее употребительными функциями вышеприведенных классов. Класс CPoint // Точка CPoint(); // Конструктор по умолчанию CPoint( int initX, int initY ); // Конструктор с координатами CPoint( POINT initPt ); // Конструктор с параметром точка CPoint( SIZE initSize ); // Конструктор с параметром размер void Offset( int xOffset, int yOffset ); // Прибавление void Offset( POINT point ); // координат void Offset( SIZE size ); // к точке BOOL operator ==( POINT point ) const; // Сравнение двух точек // (true - равны) BOOL operator !=( POINT point ) const; // Сравнение двух точек // (true - неравны) Данные-члены: X, Y - координаты Класс CSize // Размер CSize( ); // Конструктор по умолчанию CSize( int initCX, int initCY ); // Конструктор с размерами CSize( SIZE initSize ); // Конструктор с параметром размер CSize( POINT initPt ); // Конструктор с параметром точка BOOL operator ==( SIZE size ) const; // Сравнение двух размеров // (true - равны) BOOL operator !=( SIZE size ) const; // Сравнение двух размеров // (true - неравны) void operator +=( SIZE size ); // Добавление размера void operator -=( SIZE size ); // Вычитание размера CSize operator +( SIZE size ) const; // Сложение двух размеров CPoint operator +( POINT point ) const; // Добавление размера к точке // (перенос точки) CSize operator -( SIZE size ) const; // Вычитание двух размеров CPoint operator -( POINT point ) const; // Вычитание размера из точки // (перенос точки) Данные-члены: cx - ширина, cy - высота Класс CRect // Прямоугольник CRect( ); // Конструктор по умолчанию CRect( int l, int t, int r, int b ); // Конструктор с параметрами // лево, верх, право, низ CRect( const RECT& srcRect ); // Конструктор с параметром ссылка // на структуру RECT CRect( LPCRECT lpSrcRect ); // Конструктор с параметром // указатель на структуру RECT CRect( POINT point, SIZE size ); // Конструктор с параметрами левая // верхняя точка и размер (ширина и высота прямоугольника) CRect( POINT topLeft, POINT bottomRight ); // Конструктор с параметрами // левая верхняя точка и правая нижняя точка int Width( ) const; // Ширина прямоугольника int Height( ) const; // Высота прямоугольника CSize Size( ) const; // Функция, вычисляющая размера прямоугольника, // желательно предварительно вызвать функцию NormalizeRect CPoint& TopLeft( ); // Вычисление верхней левой точки прямоугольника CPoint& BottomRight( ); // Вычисление нижней правой точки прямоугольника CPoint CenterPoint( ) const;// Вычисление центральной точки прямоугольника BOOL IsRectEmpty( ) const; // Возвращает истину, если прямоугольник пуст // (ширина и/или высота прямоугольника <= 0) // желательно предварительно вызвать функцию NormalizeRect BOOL IsRectNull( ) const; // Возвращает истину, если все параметры = 0 BOOL PtInRect( POINT point ) const; // Возвращает истину, если точка // лежит внутри прямоугольника void SetRect( int x1, int y1, int x2, int y2 ); // Установка размера // и координат void SetRectEmpty( ); // Установка всех координат прямоугольника в 0 void CopyRect( LPCRECT lpSrcRect ); // Копирование переданного // прямоугольника void operator =( const RECT& srcRect ); // Присваивание прямоугольников BOOL EqualRect( LPCRECT lpRect ) const; // Возвращают истину, если BOOL operator ==( const RECT& rect ) const;// прямоугольники совпадают // желательно предварительно вызвать функцию // NormalizeRect для обоих прямоугольников void InflateRect( int x, int y ); // Увеличивают размер void InflateRect( SIZE size ); // прямоугольника, двигая void InflateRect( LPCRECT lpRect ); // границы относительно void InflateRect( int l, int t, int r, int b );// центральной точки void DeflateRect( int x, int y ); // Уменьшают размер void DeflateRect( SIZE size ); // прямоугольника, двигая void DeflateRect( LPCRECT lpRect ); // границы относительно void DeflateRect( int l, int t, int r, int b );// центральной точки void NormalizeRect( ); // Нормализует координаты прямоугольника, // т. е. ширина и высота становятся положительными, если левая сторона // имеет координату > правой, то они меняются местами, то же самое // относится к верхней и нижней сторонам прямоугольника void OffsetRect( int x, int y ); // Сдвигают прямоугольник void OffsetRect( POINT point ); // в заданную void OffsetRect( SIZE size ); // позицию BOOL SubtractRect( LPCRECT lpRectSrc1, LPCRECT lpRectSrc2 ); // Возвращает истину, если операция прошла успешно; // вычитает прямоугольник lpRectSrc2 из lpRectSrc1 (т. е. создает // прямоугольник который состоит из всех точек из lpRectSrc1, // не входящих в lpRectSrc2). Прямоугольнику присваивается lpRectSrc1, // если результат вычитания не является прямоугольником. // Желательно предварительно вызвать функцию // NormalizeRect для обоих прямоугольников BOOL IntersectRect( LPCRECT lpRect1, LPCRECT lpRect2 ); // Возвращает истину, если пересечение не пусто. // Создает прямоугольник, равный пересечению прямоугольников // lpRect1 и lpRect2. // Желательно предварительно вызвать функцию // NormalizeRect для обоих прямоугольников BOOL UnionRect( LPCRECT lpRect1, LPCRECT lpRect2 ); // Возвращает истину, если объединение не пусто. // Создает прямоугольник, равный объединению прямоугольников // lpRect1 и lpRect2. // Желательно предварительно вызвать функцию // NormalizeRect для обоих прямоугольников Данные-члены: left - левая сторона right - правая сторона top - верхняя сторона bottom - нижняя сторона Класс CString // Строка CString( ); // Конструкторы
CString( const CString& stringSrc );
CString( TCHAR ch, int nRepeat = 1 );
CString( LPCTSTR lpch, int nLength );
CString( const unsigned char* psz );
CString( LPCWSTR lpsz );
CString( LPCSTR lpsz );
int GetLength( ) const; // Возвращает количество байт в строке
BOOL IsEmpty( ) const; // Возвращает истину, если в строке 0 байт
void Empty( ); // Очистка строки
TCHAR GetAt( int nIndex ) const; // Получение элемента строки
TCHAR operator []( int nIndex ) const; // по заданному индексу
void SetAt( int nIndex, TCHAR ch ); // Замена элемента строки
// по заданному индексу
// Сравнение строк с учетом регистра
BOOL operator ==( const CString& s1, const CString& s2 );
BOOL operator ==( const CString& s1, LPCTSTR s2 );
BOOL operator ==( LPCTSTR s1, const CString& s2 );
BOOL operator !=( const CString& s1, const CString& s2 );
BOOL operator !=( const CString& s1, LPCTSTR s2 );
BOOL operator !=( LPCTSTR s1, const CString& s2 );
BOOL operator <( const CString& s1, const CString& s2 );
BOOL operator <( const CString& s1, LPCTSTR s2 );
BOOL operator <( LPCTSTR s1, const CString& s2 );
BOOL operator >( const CString& s1, const CString& s2 );
BOOL operator >( const CString& s1, LPCTSTR s2 );
BOOL operator >( LPCTSTR s1, const CString& s2 );
BOOL operator <=( const CString& s1, const CString& s2 );
BOOL operator <=( const CString& s1, LPCTSTR s2 );
BOOL operator <=( LPCTSTR s1, const CString& s2 );
BOOL operator >=( const CString& s1, const CString& s2 );
BOOL operator >=( const CString& s1, LPCTSTR s2 );
BOOL operator >=( LPCTSTR s1, const CString& s2 );
int Compare( LPCTSTR lpsz ) const; // Сравнение строк
// возвращает 0, если строки равны; > 0, если строка > lpsz;
// < 0, если строка < lpsz
int CompareNoCase( LPCTSTR lpsz ) const;
// То же самое, но без учета регистра
CString Mid( int nFirst ) const; // Возвращает символы, начиная
// с позиции nFirst
CString Mid( int nFirst, int nCount ) const;
// Возвращает nCount символов, начиная с позиции nFirst
CString Left( int nCount ) const; // Возвращает nCount символов слева
CString Right( int nCount ) const; // Возвращает nCount символов справа
void MakeUpper( ); // Переводит строку в верхний регистр
void MakeLower( ); // Переводит строку в нижний регистр
void MakeReverse( ); // Переворачивает строку
int Replace( TCHAR chOld, TCHAR chNew );// Замена символов chOld на chNew,
// возвращается количество проведенных замен или 0, если их не было.
int Replace( LPCTSTR lpszOld, LPCTSTR lpszNew );
// То же самое, только происходит замена подстроки lpszOld на lpszNew.
int Remove( TCHAR ch ); // Удаляет символ ch из строки, возвращает
// количество удаленных символов или 0, если удалений не было.
int Insert( int nIndex, TCHAR ch );
// Вставка символа в позицию nIndex, возвращает длину измененной строки
int Insert( int nIndex, LPCTSTR pstr );
// Вставка подстроки в позицию nIndex, возвращает длину измененной строки
int Delete( int nIndex, int nCount = 1 ); // Удаление nCount символов,
// начиная с позиции nIndex, возвращает количество удаленных символов
int Find( TCHAR ch ) const; // Поиск символа
int Find( LPCTSTR lpszSub ) const; // Поиск подстроки
int Find( TCHAR ch, int nStart ) const;
// Поиск символа с позиции nStart
int Find( LPCTSTR pstr, int nStart ) const;
// Поиск подстроки с позиции nStart
// функции возвращают индекс найденного элемента (индекс начинается с 0)
// или -1, если элементы найдены не были
void Format( LPCTSTR lpszFormat, ... );
// Форматированный вывод в строку
// Общий формат представляется в виде:
// %[flags] [width] [.precision] [{h | l | I64 | L}]type
// здесь type:
// c - Символ
// d, i - целое знаковое число
// o - беззнаковое восьмеричное число
// x - беззнаковое шестнадцатиричное число, используются "abcdef"
// X - беззнаковое шестнадцатиричное число, используются "ABCDEF"
// u - беззнаковое десятичное число
// e - знаковое вещественное число в научной нотации
// f - знаковое вещественное число
// g - в зависимости от ситуации представляется в виде форматов e и f
// n - указатель на целое
// p - указатель на void
// s - строка
// flags:
// - - выравнивание по левому краю (по умолчанию по правому)
// + - если выводимые числа знаковые, то у них будет появляться знак (+/-)
// width - ширина поля вывода
// precision:
// тип с - не дает эффекта
// типы d, i, o, u, x, X - минимальное количество выводимых цифр,
// если цифр меньше, то число дополняется нулями
// тип e - количество цифр, которое распечатается после десятичной точки,
// последняя цифра округляется
// тип f - количество цифр после десятичной точки, как минимум одна цифра
// появится до запятой, число округляется до заданного количества цифр
// тип g - максимальное количество печатаемых значащих цифр
// тип s - максимальное количество печатаемых символов
Причер использования: Примечание: здесь представлены большинство наиболее употребительных функций описанных классов. За более полной информацией обращайтесь в MSDN. | |
| Просмотров: 7688 | Рейтинг: 0.0/0 |
| Всего комментариев: 0 | |