Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

CWnd::GetSafeHwnd

HWND GetSafeHwnd( ) const;

Возвращаемое значение

Возвращает дескриптор окна, связанного с объектом данного класса. Возвращает нулевое значение, если с объектом класса CWnd не связано окно или если при вызове данной функции используется нулевой указатель на объект класса CWnd.

CWnd::Invalidate

void Invalidate( BOOL bErase = TRUE );

Аргументы

  1. bErase — определяет необходимость уничтожения фона при перерисовке.

Примечание

Вызывает перерисовку всей рабочей области окна, связанного с объектом класса CWnd. Рабочая область отмечается как нуждающаяся в перерисовке при поступлении следующего сообщения WM_PAINT. В рабочей области окна может быть отменена перерисовка, если до прихода следующего сообщения WM_PAINT будут вызваны функции ValidateRect или ValidateRgn.

Аргумент bErase определяет необходимость уничтожения фона в процессе перерисовки рабочей области окна. Если данный аргумент принимает значение TRUE, то при вызове функции BeginPaint происходит уничтожение фона, в противном случае фон остаётся без изменений. Если аргумент bErase принимает значение TRUE для любой части перерисовываемой области, фон уничтожается во всей этой области.

Окно посылает сообщение WM_PAINT в том случае, если в окне имеются области, нуждающиеся в перерисовке, и в очереди сообщений приложения отсутствуют другие сообщения для данного окна.

CWnd::IsDlgButtonChecked

UINT IsDlgButtonChecked( int nIDButton ) const;

Возвращаемое значение

Ненулевое, если указанный элемент управления отмечен, и нулевое, если он не отмечен. Эта функция может вызываться только для переключателей и флажков. Если кнопка имеет три состояния, то возвращаемое значение 2 означает, что она находится в неопределённом состоянии. Для обычных кнопок всегда возвращает нулевое значение.

Аргументы

  1. nIDButton — идентификатор ресурса кнопки.

Примечание

Определяет состояние переключателей и флажков. Если кнопка имеет три состояния, определяет, нажата она, отжата или недоступна.

CWnd::OnHScroll

afx_msg void OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar );

Аргументы

  1. nSBCode — определяет код полосы прокрутки, содержащий запрос пользователя на прокрутку окна. Этот аргумент может принимать одно из следующих значений:

  • SB_LEFT — перемещение в крайнюю левую позицию.

  • SB_ENDSCROLL — завершение операции прокрутки.

  • SB_LINELEFT — перемещение на строку позицию влево.

  • SB_LINERIGHT — перемещение на строку позицию вправо.

  • SB_PAGELEFT — перемещение на одну страницу влево.

  • SB_PAGERIGHT — перемещение на одну страницу вправо.

  • SB_RIGHT — перемещение в крайнюю правую позицию.

  • SB_THUMBPOSITION — перемещение в указанную позицию. Эта позиция определяется аргументом nPos.

  • SB_THUMBTRACK — перемещает бегунок в указанную позицию. Эта позиция определяется аргументом nPos.

  1. nPos — определяет положение бегунка полосы прокрутки, если аргумент nSBCode принимает значение SB_THUMBPOSITION или SB_THUMBTRACK.В противном случае данный аргумент не используется.

  2. В зависимости от значения диапазона прокрутки данный аргумент, имеющий тип целого числа без знака, может принимать отрицательное значение. Это следует понимать так: в действительности этот аргумент имеет тип целого числа со знаком и только при преобразовании его в этот формат функция будет работать абсолютно надёжно, но в силу патологической любви разработчиков фирмы Microsoft к целым числам без знака этот аргумент объявлен как беззнаковое целое. Поэтому, если вы не уверены, что данная функция будет работать только с положительными границами диапазона, а лучше во всех случаях, перед использованием данного аргумента корректно преобразуйте его к его родному типу целого со знаком. Самый большой идиотизм заключается в том, что для этого достаточно присвоить величину, имеющую тип целого числа без знака, величине, имеющей тип целого со знаком, что является нарушением всех правил преобразования типов данных.

  3. pScrollBar — если обрабатываемое данной функцией сообщение пришло от полосы прокрутки, данный аргумент содержит указатель на объект класса данного элемента управления. Если пользователь произвёл щелчок кнопкой мыши в полосе прокрутки окна, этот параметр имеет значение NULL. Данный указатель может быть временным и не должен сохраняться для дальнейшего использования.

Примечание

Данная функция вызывается приложением для обработки сообщений от полосы прокрутки. Аргументы функции OnHScroll соответствуют параметрам, передаваемым приложению в соответствующем сообщении. При вызове в данной функции метода базового класса, ему будут переданы те же параметры, что и данной функции. Все изменения, внесённые в них пользователем, будут при этом игнорироваться.

Функция OnHScroll используется для получения и передачи информации в горизонтальную полосу прокрутки окна. Приложение использует данную функцию для реализации обратной связи при перемещении бегунка полосы прокрутки. В этом случае первый аргумент данной функции принимает значение SB_THUMBTRACK.

При перемещении содержимого окна, включающего в себя данную полосу прокрутки, приложение должно установить её бегунок в соответствующее положение. Для этого используется функция SetScrollPos.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]