Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
38
Добавлен:
16.02.2016
Размер:
544.77 Кб
Скачать

Методы преобразования координат

void MapWindowPoints (CWnd* pwndTo, LPRECT IpRect) const;

void MapWindowPoints (CWnd* pwndTo, LPPOINT ipPoint,

UINT nCount) const;

Метод преобразовывает множество точек из координат данного окна CWnd в координаты окна pwndTo.

Параметры:

pwndTo - указатель окна, относительно которого будут преобразованы координаты указанной области. При значении NULL координаты будут указаны относительно экрана.

IpRect - прямоугольная область, чьи координаты преобразовываются. IpPoint - указатель на массив структур POINT, содержащий множество точек, чьи координаты преобразовываются. nCount - количество структур POINT, составляющих массив точек.

void ClientToScreen (LPPOINT ipPoint) const; void ClientToScreen (LPRECT lpRect) const;

Метод преобразовывает клиентские координаты точки или области в экранные координаты.

void ScreenToClient (LPPOINT IpPoint) const; void ScreenToClient (LPRECT ipRect) const;

Метод преобразовывает экранные координаты точки или области в клиентские координаты (координаты, указанные относительно клиентской области данного окна).

Методы работы с текстом окна

void SetWindowText (LPCTSTR IpszString);

Метод устанавливает текст, указанный параметром, как новый заголовок окна, а для элемента управления - текст элемента.

Параметры:

IpszString - объект CString или строка символов, ограниченная 0-символом. Этот метод инициирует для окна сообщение WMJSETTEXT.

int GetWindowText (LPTSTR ipszStringBuf, int nMaxCount) const; void GetWindowText (CString* rString) const;

Метод возвращает количество байт копируемой строки (без учета 0-символа) или нуля, если заголовка нет или он пуст. Копируемой строкой является или заголовок окна, или, для элемента управления, текст этого элемента управления.

Параметры:

IpszStringBuf- буфер, в который записывается копируемая строка. nMaxCount - максимальное число копируемых символов. rString - строка CString, в которую копируется заголовок окна (или текст элемента управления).

Этот метод инициирует для окна CWnd сообщение WM_GETTEXT. int GetWindowTextLength () const;

Метод возвращает длину строки текста (заголовка или текста элемента управления) данного окна. Если текста нет, то метод возвращает значение 0.

Этот метод инициирует для окна CWnd сообщение WM_GETTEXTLENGTH.

void SetFont (CFont* pFont, BOOL bRedraw = TRUE);

Метод устанавливает для данного окна текущий шрифт. Параметры: pFont - новый шрифт.

bRedraw - при значении TRUE данный оконный объект CWnd будет перерисован.

CFont* GetFont () const;

Метод определяет текущий шрифт и возвращает указатель (временный) на объект CFont.

Методы управления линейкой прокрутки

int GetScrollPos (int nBar) const;

При успешном выполнении метод возвращает текущую позицию маркера прокрутки (scroll box), и 0 - в противном случае. Значение, соответствующее текущей позиции, зависит от диапазона линейки прокрутки. Диапазон определяет минимальное и максимальное значение, допустимое для конкретной линейки прокрутки.

Параметры:

пВаr - флажок, определяющий конкретную линейку прокрутки. Он может принимать одно из следующих значений: SB_HORZ, SB_VERT.

void GetScrollRange (int nBar, LPINT IpMinPos, LPINT ipMaxPos) const;

Метод возвращает в переменных IpMinPos и IpMaxPos минимальное и максимальное значение диапазона указанной линейки прокрутки. Если данное окно CWnd не имеет линейки прокрутки, то метод возвращает значения, равные нулю.

По умолчанию диапазон линейки прокрутки окна равен 0-100, а диапазон линейки прокрутки элемента управления - 0-0 (т. е. линейка прокрутки отсутствует).

void ScrollWindow (int xAmount, int yAmount, LPCRECT IpRect - NULL, LPCRECT ipClipRect = NULL);

Метод выполняет прокрутку содержимого клиентской области окна.

Параметры:

xAmount - указывает размер прокрутки по горизонтали. Прокрутка влево Указывается отрицательным значением.

yAmount - указывает размер прокрутки по вертикали. Прокрутка вверх указывается отрицательным значением.

IpRect - указатель объекта CRect или структура RECT, определяющие часть клиентской области окна, которая будет прокручена. Если данный параметр равен NULL, то будет прокручена вся клиентская область окна. lPClipRect - указатель объекта CRect или структура RECT, определяющие Прямоугольник, в котором выполняется прокрутка. Будут прокручены только биты, расположенные внутри данного прямоугольника, а остальные биты вне зависимости от значения lpRect останутся на месте. Если данный параметр равен NULL, то прямоугольник прокрутки отсутствует.

Если в прокручиваемой области окна находится курсор вставки (caret), то он вначале автоматически скрывается, а затем восстанавливается в том же месте окна.

Отметим, что метод ScrollWindow не выполняет автоматической перерисовки открываемой области. Эта область только добавляется к обновляемая области (update region) объекта CWnd, а приложение получает сообщение WM_PAINT. Для того чтобы непосредственно выполнить перерисовку открываемой области, следует сразу после выполнения метода ScrollWindow вызвать метод UpdateWindow.

int ScrollWindowEx (int dx, int dy, LPCRECT ipRectScroll, LPCRECM ipRectClip, CRgn* prgnUpdate, LPRECT ipRectUpdate, UINT flags);

Метод выполняет прокрутку содержимого клиентской области окна.

При успешном выполнении метод возвращает одно из следующих значений: SIMPLEREGION (для прямоугольной поврежденной области), COMPLEXREGION (для непрямоугольной поврежденной области), NULLREGION (при отсутствии поврежденной области) и ERROR - в противном случае.

Параметр flags может принимать следующие значения: SW_ERASE (окну посылается сообщение WM_ERASEBKGND), SWJNVALIDATE (устанавливает после прокрутки область, указанную параметром prgnUpdate поврежденной), SW_SCROLLCHILDREN (всем дочерним окнам посылаем ся сообщение WM_MOVE).

BOOL GetScroIlInfo (int nBar, LPSCROLLINFO ipScmlllnfo, UINT nMask = SIF_ALL);

При успешном выполнении метод возвращает значение TRUE и заносит в структуру LPSCROLLINFO информацию о линейке прокрутки. int GetScrollLirait (int nBar);

При успешном выполнении метод возвращает максимальное значении диапазона линейки прокрутки, и 0 - в противном случае.

BOOL SetScrollInfo (int nBar, LPSCROLLINFO ipScrollInfo, BOOL bRedraw = TRUE);

Метод устанавливает значения для линейки прокрутки и при успешное завершении возвращает значение TRUE.

int SetScrollPos (int nBar, int nPos, BOOL bRedraw = TRUE);

Метод устанавливает новое значение текущей позиции маркера прокрутки и возвращает предыдущее значение.

void SetScrollRange (int nBar, int nMinPos, int nMaxPos, BOOL bRedraw = TRUE);

Метод устанавливает новые границы диапазона линейки прокрутки.

Отметим, что указываемый размер диапазона не может превышать значения INT_MAX: void ShowScrollBar (UINT nBar, BOOL bShow = TRUE);

Метод выполняет отображение или скрытие указанной линейки прокрутки.

Параметр nBar может принимать одно из следующих значений: SB_BOTH> SBJHORZ, SB_VERT. void EnableScrollBarCtrl (int nBar, BOOL bEnable = TRUE);

Метод разрешает или запрещает использование линейки прокрутки.

Соседние файлы в папке VC++Баженова