Поделиться через


Класс CPagerCtrl

Класс CPagerCtrl создается элемент управления страничного навигатора Windows, который может выполнить прокрутку и отобразить содержащееся окно, которое не помещается в содержащее его окно.

Синтаксис

class CPagerCtrl : public CWnd

Участники

Открытые конструкторы

Имя Описание
CPagerCtrl::CPagerCtrl Формирует объект CPagerCtrl.

Открытые методы

Имя Описание
CPagerCtrl::Create Создает элемент управления пейджера с указанными стилями и присоединяет его к текущему CPagerCtrl объекту.
CPagerCtrl::CreateEx Создает элемент управления пейджера с указанными расширенными стилями и присоединяет его к текущему CPagerCtrl объекту.
CPagerCtrl::ForwardMouse Включает или отключает пересылку WM_MOUSEMOVE сообщений в окно, содержащееся в текущем элементе управления пейджером.
CPagerCtrl::GetBkColor Извлекает цвет фона текущего элемента управления пейджера.
CPagerCtrl::GetBorder Извлекает размер границы текущего элемента управления пейджера.
CPagerCtrl::GetButtonSize Извлекает размер кнопки текущего элемента управления пейджера.
CPagerCtrl::GetButtonState Извлекает состояние указанной кнопки в текущем элементе управления пейджера.
CPagerCtrl::GetDropTarget Извлекает интерфейс IDropTarget для текущего элемента управления пейджера.
CPagerCtrl::GetScrollPos Извлекает положение прокрутки текущего элемента управления пейджера.
CPagerCtrl::IsButtonDepressed Указывает, находится ли указанная кнопка текущего элемента управления пейджером в pressed состоянии.
CPagerCtrl::IsButtonGrayed Указывает, находится ли указанная кнопка текущего элемента управления пейджером в grayed состоянии.
CPagerCtrl::IsButtonHot Указывает, находится ли указанная кнопка текущего элемента управления пейджером в hot состоянии.
CPagerCtrl::IsButtonInvisible Указывает, находится ли указанная кнопка текущего элемента управления пейджером в invisible состоянии.
CPagerCtrl::IsButtonNormal Указывает, находится ли указанная кнопка текущего элемента управления пейджером в normal состоянии.
CPagerCtrl::RecalcSize Позволяет текущему элементу управления пейджера пересчитывать размер содержащегося окна.
CPagerCtrl::SetBkColor Задает цвет фона текущего элемента управления пейджера.
CPagerCtrl::SetBorder Задает размер границы текущего элемента управления пейджера.
CPagerCtrl::SetButtonSize Задает размер кнопки текущего элемента управления пейджера.
CPagerCtrl::SetChild Задает автономное окно для текущего элемента управления пейджера.
CPagerCtrl::SetScrollPos Задает положение прокрутки текущего элемента управления пейджера.

Замечания

Элемент управления пейджером — это окно, содержащее другое окно, которое является линейным и большим, чем содержащее окно, и позволяет прокручивать автономное окно в представление. Элемент управления пейджер отображает две кнопки прокрутки, которые автоматически исчезают, когда автономное окно прокручивается до самой далекой степени, и повторно появится в противном случае. Вы можете создать элемент управления пейджера, который прокручивается по горизонтали или по вертикали.

Например, если у приложения есть панель инструментов, которая недостаточно широка, чтобы отобразить все его элементы, можно назначить панель инструментов элементу управления пейджер, и пользователи смогут прокрутить панель инструментов влево или вправо, чтобы получить доступ ко всем элементам. Microsoft Internet Обозреватель версии 4.0 (commctrl.dll версии 4.71) представляет элемент управления пейджера.

Класс CPagerCtrl является производным от класса CWnd . Дополнительные сведения и иллюстрацию элемента управления пейджером см. в разделе "Элементы управления Pager".

Иерархия наследования

CObject

CCmdTarget

CWnd

CPagerCtrl

Требования

Заголовок: afxcmn.h

CPagerCtrl::CPagerCtrl

Формирует объект CPagerCtrl.

CPagerCtrl();

Замечания

Используйте метод CPagerCtrl::Create или CPagerCtrl::CreateEx для создания элемента управления пейджера и присоединения его к объектуCPagerCtrl.

CPagerCtrl::Create

Создает элемент управления пейджера с указанными стилями и присоединяет его к текущему CPagerCtrl объекту.

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

Параметры

dwStyle
[in] Побитовое сочетание стилей окна и стилей элементов управления пейджером, применяемых к элементу управления.

rect
[in] Ссылка на структуру RECT , содержащую позицию и размер элемента управления в координатах клиента.

pParentWnd
[in] Указатель на объект CWnd , который является родительским окном элемента управления. Значение этого параметра не может быть равно NULL.

Nid
[in] Идентификатор элемента управления.

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

ЗНАЧЕНИЕ TRUE, если этот метод выполнен успешно; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Чтобы создать элемент управления пейджером, объявите CPagerCtrl переменную, а затем вызовите метод CPagerCtrl::Create или CPagerCtrl::CreateEx в этой переменной.

Пример

В следующем примере создается элемент управления пейджера, а затем используется метод CPagerCtrl::SetChild для связывания очень длинного элемента управления кнопкой с элементом управления pager. Затем в примере используется метод CPagerCtrl::SetButtonSize , чтобы задать высоту элемента управления пейджера 20 пикселей, а метод CPagerCtrl::SetBorder задать толщину границы 1 пикселя.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::CreateEx

Создает элемент управления пейджера с указанными расширенными стилями и присоединяет его к текущему CPagerCtrl объекту.

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

Параметры

dwExStyle
[in] Побитовое сочетание расширенных стилей, применяемых к элементу управления. Дополнительные сведения см. в параметре dwExStyle функции CreateWindowEx.

dwStyle
[in] Побитовое сочетание стилей окна и стилей элементов управления пейджером, применяемых к элементу управления.

rect
[in] Ссылка на структуру RECT , содержащую позицию и размер элемента управления в координатах клиента.

pParentWnd
[in] Указатель на объект CWnd , который является родительским окном элемента управления. Значение этого параметра не может быть равно NULL.

Nid
[in] Идентификатор элемента управления.

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

ЗНАЧЕНИЕ TRUE, если этот метод выполнен успешно; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Чтобы создать элемент управления пейджером, объявите CPagerCtrl переменную, а затем вызовите метод CPagerCtrl::Create или CPagerCtrl::CreateEx в этой переменной.

CPagerCtrl::ForwardMouse

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

void ForwardMouse(BOOL bForward);

Параметры

bForward
[in] ЗНАЧЕНИЕ TRUE для пересылки сообщений мыши или FALSE, чтобы не пересылать сообщения мыши.

Замечания

Этот метод отправляет сообщение PGM_FORWARDMOUSE , описанное в пакете SDK для Windows.

CPagerCtrl::GetBorder

Извлекает размер границы текущего элемента управления пейджера.

int GetBorder() const;

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

Текущий размер границы, измеряемый в пикселях.

Замечания

Этот метод отправляет сообщение PGM_GEТБ ORDER, описанное в пакете SDK для Windows.

Пример

В следующем примере используется метод CPagerCtrl::GetBorder для получения толщины границы элемента управления пейджера.

void CCSplitButton_s2Dlg::OnXBorder()
{
   int borderSize = m_pager.GetBorder();
   CString str;
   str.Format(_T("The border is %d pixel(s) thick."), borderSize);
   MessageBox(str);
}

CPagerCtrl::GetBkColor

Извлекает цвет фона текущего элемента управления пейджера.

COLORREF GetBkColor() const;

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

Значение COLORREF, содержащее текущий цвет фона элемента управления пейджера.

Замечания

Этот метод отправляет сообщение PGM_GEТБ KCOLOR, описанное в пакете SDK для Windows.

Пример

В следующем примере используется метод CPagerCtrl::SetBkColor, чтобы задать цвет фона элемента управления пейджера красным и метод CPagerCtrl::GetBkColor, чтобы убедиться, что это изменение было сделано.

void CCSplitButton_s2Dlg::OnXColor()
{
   COLORREF originalColor;
   //  Set color to red.
   originalColor = m_pager.SetBkColor(RGB(255, 0, 0));
   if (m_pager.GetBkColor() != RGB(255, 0, 0))
   {
      MessageBox(_T("Control did not return RED as the previous color."));
   }
   // The following statement is one way to restore the color.
   // m_pager.SetBkColor( originalColor );
}

CPagerCtrl::GetButtonSize

Извлекает размер кнопки текущего элемента управления пейджера.

int GetButtonSize() const;

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

Текущий размер кнопки, измеряемый в пикселях.

Замечания

Этот метод отправляет сообщение PGM_GEТБ UTTONSIZE, описанное в пакете SDK для Windows.

Если элемент управления пейджер имеет стиль PGS_HORZ, размер кнопки определяет ширину кнопок пейджера и если элемент управления пейджер имеет стиль PGS_VERT, размер кнопки определяет высоту кнопок пейджера. Дополнительные сведения см. в разделе "Стили элементов управления Pager".

CPagerCtrl::GetButtonState

Извлекает состояние указанной кнопки прокрутки в текущем элементе управления пейджера.

DWORD GetButtonState(int iButton) const;

Параметры

iButton
[in] Указывает кнопку, для которой извлекается состояние. Если стиль элемента управления пейджера PGS_HORZ, укажите PGB_TOPORLEFT для левой кнопки и PGB_BOTTOMORRIGHT для правой кнопки. Если стиль элемента управления пейджера PGS_VERT, укажите PGB_TOPORLEFT для верхней кнопки и PGB_BOTTOMORRIGHT для нижней кнопки. Дополнительные сведения см. в разделе "Стили элементов управления Pager".

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

Состояние кнопки, указанной параметром iButton . Состояние — PGF_INVISIBLE, PGF_NORMAL, PGF_GRAYED, PGF_DEPRESSED или PGF_HOT. Дополнительные сведения см. в разделе "Возвращаемое значение" сообщения PGM_GEТБ UTTONSTATE.

Замечания

Этот метод отправляет сообщение PGM_GEТБ UTTONSTATE, описанное в пакете SDK для Windows.

CPagerCtrl::GetDropTarget

Извлекает интерфейс IDropTarget для текущего элемента управления пейджера.

IDropTarget* GetDropTarget() const;

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

Указатель на IDropTarget интерфейс для текущего элемента управления пейджера.

Замечания

IDropTarget — это один из интерфейсов, которые вы реализуете для поддержки операций перетаскивания в приложении.

Этот метод отправляет сообщение PGM_GETDROPTARGET , описанное в пакете SDK для Windows. Вызывающий метод отвечает за вызов Release члена интерфейса IDropTarget , если интерфейс больше не нужен.

CPagerCtrl::GetScrollPos

Извлекает положение прокрутки текущего элемента управления пейджера.

int GetScrollPos() const;

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

Текущая позиция прокрутки, измеряемая в пикселях.

Замечания

Этот метод отправляет сообщение PGM_GETPOS , описанное в пакете SDK для Windows.

Пример

В следующем примере используется метод CPagerCtrl::GetScrollPos для получения текущей позиции прокрутки элемента управления пейджера. Если элемент управления пейджера еще не прокручен до нуля, то в левой позиции используется метод CPagerCtrl::SetScrollPos , чтобы задать положение прокрутки нулю.

void CCSplitButton_s2Dlg::OnXScrollposition()
{
   int pos;
   CString str;
   pos = m_pager.GetScrollPos();
   if (pos != 0)
      m_pager.SetScrollPos(0);
   str.Format(_T("Old position = %d; new position = 0"), pos);
   MessageBox(str);
}

CPagerCtrl::IsButtonDepressed

Указывает, находится ли указанная кнопка прокрутки текущего элемента управления пейджера в состоянии нажатия.

BOOL IsButtonDepressed(int iButton) const;

Параметры

iButton
[in] Указывает кнопку, для которой извлекается состояние. Если стиль элемента управления пейджера PGS_HORZ, укажите PGB_TOPORLEFT для левой кнопки и PGB_BOTTOMORRIGHT для правой кнопки. Если стиль элемента управления пейджера PGS_VERT, укажите PGB_TOPORLEFT для верхней кнопки и PGB_BOTTOMORRIGHT для нижней кнопки. Дополнительные сведения см. в разделе "Стили элементов управления Pager".

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

ЗНАЧЕНИЕ TRUE, если указанная кнопка находится в состоянии нажатия; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Этот метод отправляет сообщение PGM_GEТБ UTTONSTATE, описанное в пакете SDK для Windows. Затем проверяет, является ли возвращенное состояние PGF_DEPRESSED. Дополнительные сведения см. в разделе "Возвращаемое значение" сообщения PGM_GEТБ UTTONSTATE.

CPagerCtrl::IsButtonGrayed

Указывает, находится ли указанная кнопка прокрутки текущего элемента управления пейджера в сером состоянии.

BOOL IsButtonGrayed(int iButton) const;

Параметры

iButton
[in] Указывает кнопку, для которой извлекается состояние. Если стиль элемента управления пейджера PGS_HORZ, укажите PGB_TOPORLEFT для левой кнопки и PGB_BOTTOMORRIGHT для правой кнопки. Если стиль элемента управления пейджера PGS_VERT, укажите PGB_TOPORLEFT для верхней кнопки и PGB_BOTTOMORRIGHT для нижней кнопки. Дополнительные сведения см. в разделе "Стили элементов управления Pager".

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

ЗНАЧЕНИЕ TRUE, если указанная кнопка находится в сером состоянии; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Этот метод отправляет сообщение PGM_GEТБ UTTONSTATE, описанное в пакете SDK для Windows. Затем проверяет, является ли возвращенное состояние PGF_GRAYED. Дополнительные сведения см. в разделе "Возвращаемое значение" сообщения PGM_GEТБ UTTONSTATE.

CPagerCtrl::IsButtonHot

Указывает, находится ли указанная кнопка прокрутки текущего элемента управления пейджера в горячем состоянии.

BOOL IsButtonHot(int iButton) const;

Параметры

iButton
[in] Указывает кнопку, для которой извлекается состояние. Если стиль элемента управления пейджера PGS_HORZ, укажите PGB_TOPORLEFT для левой кнопки и PGB_BOTTOMORRIGHT для правой кнопки. Если стиль элемента управления пейджера PGS_VERT, укажите PGB_TOPORLEFT для верхней кнопки и PGB_BOTTOMORRIGHT для нижней кнопки. Дополнительные сведения см. в разделе "Стили элементов управления Pager".

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

ЗНАЧЕНИЕ TRUE, если указанная кнопка находится в горячем состоянии; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Этот метод отправляет сообщение PGM_GEТБ UTTONSTATE, описанное в пакете SDK для Windows. Затем проверяет, является ли возвращенное состояние PGF_HOT. Дополнительные сведения см. в разделе "Возвращаемое значение" сообщения PGM_GEТБ UTTONSTATE.

CPagerCtrl::IsButtonInvisible

Указывает, находится ли указанная кнопка прокрутки текущего элемента управления пейджера в невидимом состоянии.

BOOL IsButtonInvisible(int iButton) const;

Параметры

iButton
[in] Указывает кнопку, для которой извлекается состояние. Если стиль элемента управления пейджера PGS_HORZ, укажите PGB_TOPORLEFT для левой кнопки и PGB_BOTTOMORRIGHT для правой кнопки. Если стиль элемента управления пейджера PGS_VERT, укажите PGB_TOPORLEFT для верхней кнопки и PGB_BOTTOMORRIGHT для нижней кнопки. Дополнительные сведения см. в разделе "Стили элементов управления Pager".

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

ЗНАЧЕНИЕ TRUE, если указанная кнопка находится в невидимом состоянии; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Windows делает кнопку прокрутки в определенном направлении невидимой, когда автономное окно прокручивается до самой далекой степени, так как нажатие кнопки дальше не может привести больше к автономному окну в представление.

Этот метод отправляет сообщение PGM_GEТБ UTTONSTATE, описанное в пакете SDK для Windows. Затем проверяет, является ли возвращенное состояние PGF_INVISIBLE. Дополнительные сведения см. в разделе "Возвращаемое значение" сообщения PGM_GEТБ UTTONSTATE.

Пример

В следующем примере используется метод CPagerCtrl::IsButtonInvisible , чтобы определить, отображаются ли кнопки прокрутки элемента управления пейджера влево и вправо.


void CCSplitButton_s2Dlg::OnXIsbuttoninvisible()
{
   BOOL bLeft = m_pager.IsButtonInvisible(PGB_TOPORLEFT);
   BOOL bRight = m_pager.IsButtonInvisible(PGB_BOTTOMORRIGHT);
   CString str;
   str.Format(_T("The left button is%s visible; the right button is%s visible."),
              (bLeft ? _T(" not") : _T("")),
              (bRight ? _T(" not") : _T("")));
   MessageBox(str);
}

CPagerCtrl::IsButtonNormal

Указывает, находится ли указанная кнопка прокрутки текущего элемента управления пейджера в обычном состоянии.

BOOL IsButtonNormal(int iButton) const;

Параметры

iButton
[in] Указывает кнопку, для которой извлекается состояние. Если стиль элемента управления пейджера PGS_HORZ, укажите PGB_TOPORLEFT для левой кнопки и PGB_BOTTOMORRIGHT для правой кнопки. Если стиль элемента управления пейджера PGS_VERT, укажите PGB_TOPORLEFT для верхней кнопки и PGB_BOTTOMORRIGHT для нижней кнопки. Дополнительные сведения см. в разделе "Стили элементов управления Pager".

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

ЗНАЧЕНИЕ TRUE, если указанная кнопка находится в обычном состоянии; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Этот метод отправляет сообщение PGM_GEТБ UTTONSTATE, описанное в пакете SDK для Windows. Затем проверяет, является ли возвращенное состояние PGF_NORMAL. Дополнительные сведения см. в разделе "Возвращаемое значение" сообщения PGM_GEТБ UTTONSTATE.

CPagerCtrl::RecalcSize

Позволяет текущему элементу управления пейджера пересчитывать размер содержащегося окна.

void RecalcSize();

Замечания

Этот метод отправляет сообщение PGM_RECALCSIZE , описанное в пакете SDK для Windows. Следовательно, элемент управления пейджер отправляет уведомление PGN_CALCSIZE для получения прокручиваемых измерений автономного окна.

Пример 1

В следующем примере метод CPagerCtrl::RecalcSize используется для запроса текущего элемента управления пейджера для пересчета его размера.

void CCSplitButton_s2Dlg::OnXRecalcsize()
{
   // If the child control changes size, call RecalcSize() to change
   // the size of the pager control accordingly.
   m_pager.RecalcSize();
   MessageBox(_T("The pager control size has been recalculated."));
}

Пример 2

В следующем примере используется отражение сообщений, позволяющее элементу управления pager пересчитывать собственный размер, а не требовать от родительского диалогового окна элемента управления выполнить вычисление. В примере наследуется MyPagerCtrl класс из класса CPagerCtrl, а затем используется карта сообщений для связывания уведомления PGN_CALCSIZE с обработчиком OnCalcsize уведомлений. В этом примере обработчик уведомлений задает ширину и высоту элемента управления пейджера фиксированным значениям.

BEGIN_MESSAGE_MAP(CMyPagerCtrl, CPagerCtrl)
ON_NOTIFY_REFLECT(PGN_CALCSIZE, &CMyPagerCtrl::OnCalcSize)
END_MESSAGE_MAP()

// CMyPagerCtrl message handlers
void CMyPagerCtrl::OnCalcSize(NMHDR *code, LRESULT *param)
{
   // If the control contained in the pager control changes size, use this
   // handler to change the size of the pager control accordingly.

   LPNMPGCALCSIZE tmp = (LPNMPGCALCSIZE)code;
   *param = 0;
   tmp->iWidth = 500;
   tmp->iHeight = 50;
}

CPagerCtrl::SetBkColor

Задает цвет фона текущего элемента управления пейджера.

COLORREF SetBkColor(COLORREF clrBk);

Параметры

clrBk
[in] Значение COLORREF , содержащее новый цвет фона элемента управления пейджера.

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

Значение COLORREF , содержащее предыдущий цвет фона элемента управления пейджера.

Замечания

Этот метод отправляет сообщение PGM_SEТБ KCOLOR, описанное в пакете SDK для Windows.

Пример

В следующем примере используется метод CPagerCtrl::SetBkColor, чтобы задать цвет фона элемента управления пейджера красным и метод CPagerCtrl::GetBkColor, чтобы убедиться, что это изменение было сделано.

void CCSplitButton_s2Dlg::OnXColor()
{
   COLORREF originalColor;
   //  Set color to red.
   originalColor = m_pager.SetBkColor(RGB(255, 0, 0));
   if (m_pager.GetBkColor() != RGB(255, 0, 0))
   {
      MessageBox(_T("Control did not return RED as the previous color."));
   }
   // The following statement is one way to restore the color.
   // m_pager.SetBkColor( originalColor );
}

CPagerCtrl::SetBorder

Задает размер границы текущего элемента управления пейджера.

int SetBorder(int iBorder);

Параметры

iBorder
[in] Новый размер границы, измеряемый в пикселях. Если параметр iBorder отрицательный, размер границы равен нулю.

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

Предыдущий размер границы, измеряемый в пикселях.

Замечания

Этот метод отправляет сообщение PGM_SEТБ ORDER, описанное в пакете SDK для Windows.

Пример

В следующем примере создается элемент управления пейджера, а затем используется метод CPagerCtrl::SetChild для связывания очень длинного элемента управления кнопкой с элементом управления pager. Затем в примере используется метод CPagerCtrl::SetButtonSize , чтобы задать высоту элемента управления пейджера 20 пикселей, а метод CPagerCtrl::SetBorder задать толщину границы 1 пикселя.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::SetButtonSize

Задает размер кнопки текущего элемента управления пейджера.

int SetButtonSize(int iButtonSize);

Параметры

iButtonSize
[in] Новый размер кнопки, измеряемый в пикселях.

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

Предыдущий размер кнопки, измеряемый в пикселях.

Замечания

Этот метод отправляет сообщение PGM_SEТБ UTTONSIZE, описанное в пакете SDK для Windows.

Если элемент управления пейджер имеет стиль PGS_HORZ, размер кнопки определяет ширину кнопок пейджера и если элемент управления пейджер имеет стиль PGS_VERT, размер кнопки определяет высоту кнопок пейджера. Размер кнопки по умолчанию составляет три четверти ширины полосы прокрутки, а минимальный размер кнопки — 12 пикселей. Дополнительные сведения см. в разделе "Стили элементов управления Pager".

Пример

В следующем примере создается элемент управления пейджера, а затем используется метод CPagerCtrl::SetChild для связывания очень длинного элемента управления кнопкой с элементом управления pager. Затем в примере используется метод CPagerCtrl::SetButtonSize , чтобы задать высоту элемента управления пейджера 20 пикселей, а метод CPagerCtrl::SetBorder задать толщину границы 1 пикселя.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::SetChild

Задает автономное окно для текущего элемента управления пейджера.

void SetChild(HWND hwndChild);

Параметры

hwndChild
[in] Дескриптор к окну, который будет содержаться.

Замечания

Этот метод отправляет сообщение PGM_SETCHILD , описанное в пакете SDK для Windows.

Этот метод не изменяет родительский элемент содержащегося окна; он назначает только дескриптор окна элементу управления пейджера для прокрутки. В большинстве случаев автономное окно будет дочерним окном элемента управления пейджера.

Пример

В следующем примере создается элемент управления пейджера, а затем используется метод CPagerCtrl::SetChild для связывания очень длинного элемента управления кнопкой с элементом управления pager. Затем в примере используется метод CPagerCtrl::SetButtonSize , чтобы задать высоту элемента управления пейджера 20 пикселей, а метод CPagerCtrl::SetBorder задать толщину границы 1 пикселя.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::SetScrollPos

Задает положение прокрутки текущего элемента управления пейджера.

void SetScrollPos(int iPos);

Параметры

Ipos
[in] Новая позиция прокрутки, измеряемая в пикселях.

Замечания

Этот метод отправляет сообщение PGM_SETPOS , описанное в пакете SDK для Windows.

См. также

Класс CPagerCtrl
Диаграмма иерархии
Элементы управления Pager