다음을 통해 공유


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 Explorer 버전 4.0(commctrl.dll 버전 4.71)에는 호출기 컨트롤이 도입되었습니다.

클래스는 CPagerCtrl CWnd 클래스에서 파생됩니다 . 페이저 컨트롤에 대한 자세한 내용 및 그림은 페이저 컨트롤을 참조 하세요.

상속 계층 구조

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] 컨트롤에 적용할 창 스타일 및 페이저 컨트롤 스타일의 비트 조합(OR)입니다.

rect
[in] 클라이언트 좌표에서 컨트롤의 위치와 크기를 포함하는 RECT 구조체에 대한 참조입니다.

pParentWnd
[in] 컨트롤의 부모 창인 CWnd 개체에 대한 포인터입니다. 이 매개 변수는 NULL일 수 없습니다.

nID
[in] 컨트롤의 ID입니다.

Return Value

이 메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

호출기 컨트롤을 만들려면 변수를 선언한 CPagerCtrl 다음 해당 변수에서 CPagerCtrl::Create 또는 CPagerCtrl::CreateEx 메서드를 호출합니다.

예시

다음 예제에서는 호출기 컨트롤을 만든 다음 CPagerCtrl::SetChild 메서드를 사용하여 매우 긴 단추 컨트롤을 호출기 컨트롤과 연결합니다. 그런 다음, 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] 컨트롤에 적용할 확장 스타일의 비트 조합입니다. 자세한 내용은 CreateWindowEx 함수의 dwExStyle 매개 변수를 참조하세요.

dwStyle
[in] 컨트롤에 적용할 창 스타일 및 페이저 컨트롤 스타일의 비트 조합(OR)입니다.

rect
[in] 클라이언트 좌표에서 컨트롤의 위치와 크기를 포함하는 RECT 구조체에 대한 참조입니다.

pParentWnd
[in] 컨트롤의 부모 창인 CWnd 개체에 대한 포인터입니다. 이 매개 변수는 NULL일 수 없습니다.

nID
[in] 컨트롤의 ID입니다.

Return Value

이 메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

호출기 컨트롤을 만들려면 변수를 선언한 CPagerCtrl 다음 해당 변수에서 CPagerCtrl::Create 또는 CPagerCtrl::CreateEx 메서드를 호출합니다.

CPagerCtrl::ForwardMouse

현재 호출기 컨트롤에 포함된 창에 WM_MOUSEMOVE 메시지 전달을 사용하거나 사용하지 않도록 설정합니다.

void ForwardMouse(BOOL bForward);

매개 변수

bForward
[in] 마우스 메시지를 전달하려면 TRUE이거나, FALSE를 사용하여 마우스 메시지를 전달하지 않습니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_FORWARDMOUSE 메시지를 보냅니다.

CPagerCtrl::GetBorder

현재 호출기 컨트롤의 테두리 크기를 검색합니다.

int GetBorder() const;

Return Value

픽셀 단위로 측정된 현재 테두리 크기입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_GETBORDER 메시지를 보냅니다.

예시

다음 예제에서는 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;

Return Value

호출기 컨트롤의 현재 배경색을 포함하는 COLORREF 값입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_GETBKCOLOR 메시지를 보냅니다.

예시

다음 예제에서는 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;

Return Value

픽셀 단위로 측정된 현재 단추 크기입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_GETBUTTONSIZE 메시지를 보냅니다.

페이저 컨트롤에 PGS_HORZ 스타일이 있는 경우 단추 크기는 호출기 단추의 너비를 결정하며, 호출기 컨트롤에 PGS_VERT 스타일이 있는 경우 단추 크기는 호출기 단추의 높이를 결정합니다. 자세한 내용은 호출기 컨트롤 스타일을 참조 하세요.

CPagerCtrl::GetButtonState

현재 호출기 컨트롤에서 지정된 스크롤 단추의 상태를 검색합니다.

DWORD GetButtonState(int iButton) const;

매개 변수

iButton
[in] 상태가 검색되는 단추를 나타냅니다. 호출기 컨트롤 스타일이 PGS_HORZ 경우 왼쪽 단추의 PGB_TOPORLEFT 지정하고 오른쪽 단추의 PGB_BOTTOMORRIGHT 지정합니다. 호출기 컨트롤 스타일이 PGS_VERT 경우 위쪽 단추의 PGB_TOPORLEFT 지정하고 아래쪽 단추의 PGB_BOTTOMORRIGHT 지정합니다. 자세한 내용은 호출기 컨트롤 스타일을 참조 하세요.

Return Value

iButton 매개 변수로 지정된 단추의 상태입니다. 상태는 PGF_INVISIBLE, PGF_NORMAL, PGF_GRAYED, PGF_DEPRESSED 또는 PGF_HOT. 자세한 내용은 PGM_GETBUTTONSTATE 메시지의 반환 값 섹션을 참조하세요.

설명

이 메서드는 Windows SDK에 설명된 PGM_GETBUTTONSTATE 메시지를 보냅니다.

CPagerCtrl::GetDropTarget

현재 호출기 컨트롤에 대한 IDropTarget 인터페이스를 검색합니다.

IDropTarget* GetDropTarget() const;

Return Value

현재 호출기 컨트롤의 IDropTarget 인터페이스에 대한 포인터입니다.

설명

IDropTarget 는 애플리케이션에서 끌어서 놓기 작업을 지원하기 위해 구현하는 인터페이스 중 하나입니다.

이 메서드는 Windows SDK에 설명된 PGM_GETDROPTARGET 메시지를 보냅니다. 이 메서드의 호출자는 인터페이스가 더 이상 필요하지 않을 때 IDropTarget 인터페이스의 멤버를 호출 Release 합니다.

CPagerCtrl::GetScrollPos

현재 호출기 컨트롤의 스크롤 위치를 검색합니다.

int GetScrollPos() const;

Return Value

픽셀 단위로 측정된 현재 스크롤 위치입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_GETPOS 메시지를 보냅니다.

예시

다음 예제에서는 CPagerCtrl::GetScrollPos 메서드를 사용하여 호출기 컨트롤의 현재 스크롤 위치를 검색합니다. 호출기 컨트롤이 아직 맨 왼쪽 위치인 0으로 스크롤되지 않은 경우 이 예제에서는 CPagerCtrl::SetScrollPos 메서드를 사용하여 스크롤 위치를 0으로 설정합니다.

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 지정합니다. 자세한 내용은 호출기 컨트롤 스타일을 참조 하세요.

Return Value

지정된 단추가 누름 상태이면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_GETBUTTONSTATE 메시지를 보냅니다. 그런 다음 반환되는 상태가 PGF_DEPRESSED 여부를 테스트합니다. 자세한 내용은 PGM_GETBUTTONSTATE 메시지의 반환 값 섹션을 참조하세요.

CPagerCtrl::IsButtonGrayed

현재 페이저 컨트롤의 지정된 스크롤 단추가 회색 상태인지 여부를 나타냅니다.

BOOL IsButtonGrayed(int iButton) const;

매개 변수

iButton
[in] 상태가 검색되는 단추를 나타냅니다. 호출기 컨트롤 스타일이 PGS_HORZ 경우 왼쪽 단추의 PGB_TOPORLEFT 지정하고 오른쪽 단추의 PGB_BOTTOMORRIGHT 지정합니다. 호출기 컨트롤 스타일이 PGS_VERT 경우 위쪽 단추의 PGB_TOPORLEFT 지정하고 아래쪽 단추의 PGB_BOTTOMORRIGHT 지정합니다. 자세한 내용은 호출기 컨트롤 스타일을 참조 하세요.

Return Value

지정한 단추가 회색 상태이면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_GETBUTTONSTATE 메시지를 보냅니다. 그런 다음 반환되는 상태가 PGF_GRAYED 여부를 테스트합니다. 자세한 내용은 PGM_GETBUTTONSTATE 메시지의 반환 값 섹션을 참조하세요.

CPagerCtrl::IsButtonHot

현재 페이저 컨트롤의 지정된 스크롤 단추가 활성 상태인지 여부를 나타냅니다.

BOOL IsButtonHot(int iButton) const;

매개 변수

iButton
[in] 상태가 검색되는 단추를 나타냅니다. 호출기 컨트롤 스타일이 PGS_HORZ 경우 왼쪽 단추의 PGB_TOPORLEFT 지정하고 오른쪽 단추의 PGB_BOTTOMORRIGHT 지정합니다. 호출기 컨트롤 스타일이 PGS_VERT 경우 위쪽 단추의 PGB_TOPORLEFT 지정하고 아래쪽 단추의 PGB_BOTTOMORRIGHT 지정합니다. 자세한 내용은 호출기 컨트롤 스타일을 참조 하세요.

Return Value

지정한 단추가 활성 상태이면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_GETBUTTONSTATE 메시지를 보냅니다. 그런 다음 반환되는 상태가 PGF_HOT 여부를 테스트합니다. 자세한 내용은 PGM_GETBUTTONSTATE 메시지의 반환 값 섹션을 참조하세요.

CPagerCtrl::IsButtonInvisible

현재 페이저 컨트롤의 지정된 스크롤 단추가 보이지 않는 상태인지 여부를 나타냅니다.

BOOL IsButtonInvisible(int iButton) const;

매개 변수

iButton
[in] 상태가 검색되는 단추를 나타냅니다. 호출기 컨트롤 스타일이 PGS_HORZ 경우 왼쪽 단추의 PGB_TOPORLEFT 지정하고 오른쪽 단추의 PGB_BOTTOMORRIGHT 지정합니다. 호출기 컨트롤 스타일이 PGS_VERT 경우 위쪽 단추의 PGB_TOPORLEFT 지정하고 아래쪽 단추의 PGB_BOTTOMORRIGHT 지정합니다. 자세한 내용은 호출기 컨트롤 스타일을 참조 하세요.

Return Value

지정한 단추가 보이지 않는 상태이면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

단추를 더 클릭하면 포함된 창을 더 많이 볼 수 없으므로 포함된 창이 가장 먼 익스텐트까지 스크롤될 때 Windows에서 특정 방향으로 스크롤 단추를 표시하지 않습니다.

이 메서드는 Windows SDK에 설명된 PGM_GETBUTTONSTATE 메시지를 보냅니다. 그런 다음 반환되는 상태가 PGF_INVISIBLE 여부를 테스트합니다. 자세한 내용은 PGM_GETBUTTONSTATE 메시지의 반환 값 섹션을 참조하세요.

예시

다음 예제에서는 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 지정합니다. 자세한 내용은 호출기 컨트롤 스타일을 참조 하세요.

Return Value

지정된 단추가 정상 상태이면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_GETBUTTONSTATE 메시지를 보냅니다. 그런 다음 반환되는 상태가 PGF_NORMAL 여부를 테스트합니다. 자세한 내용은 PGM_GETBUTTONSTATE 메시지의 반환 값 섹션을 참조하세요.

CPagerCtrl::RecalcSize

현재 호출기 컨트롤이 포함된 창의 크기를 다시 계산하도록 합니다.

void RecalcSize();

설명

이 메서드는 Windows SDK에 설명된 PGM_RECALCSIZE 메시지를 보냅니다. 따라서 호출기 컨트롤은 포함된 창의 스크롤 가능한 차원을 얻기 위해 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

다음 예제에서는 메시지 리플렉션을 사용 하 여 호출기 컨트롤 계산을 수행 하려면 컨트롤의 부모 대화 상자 대신 자체 크기를 다시 계산할 수 있도록 합니다. 이 예제에서는 CPagerCtrl 클래스에서 클래스를 파생 MyPagerCtrl 한 다음 메시지 맵을 사용하여 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 값입니다.

Return Value

호출기 컨트롤의 이전 배경색을 포함하는 COLORREF 값입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_SETBKCOLOR 메시지를 보냅니다.

예시

다음 예제에서는 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 매개 변수가 음수이면 테두리 크기가 0으로 설정됩니다.

Return Value

픽셀 단위로 측정된 이전 테두리 크기입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_SETBORDER 메시지를 보냅니다.

예시

다음 예제에서는 호출기 컨트롤을 만든 다음 CPagerCtrl::SetChild 메서드를 사용하여 매우 긴 단추 컨트롤을 호출기 컨트롤과 연결합니다. 그런 다음, 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] 픽셀 단위로 측정된 새 단추 크기입니다.

Return Value

픽셀 단위로 측정된 이전 단추 크기입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_SETBUTTONSIZE 메시지를 보냅니다.

페이저 컨트롤에 PGS_HORZ 스타일이 있는 경우 단추 크기는 호출기 단추의 너비를 결정하며, 호출기 컨트롤에 PGS_VERT 스타일이 있는 경우 단추 크기는 호출기 단추의 높이를 결정합니다. 기본 단추 크기는 스크롤 막대 너비의 3/4이고 최소 단추 크기는 12픽셀입니다. 자세한 내용은 호출기 컨트롤 스타일을 참조 하세요.

예시

다음 예제에서는 호출기 컨트롤을 만든 다음 CPagerCtrl::SetChild 메서드를 사용하여 매우 긴 단추 컨트롤을 호출기 컨트롤과 연결합니다. 그런 다음, 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] 포함할 창에 대한 핸들입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_SETCHILD 메시지를 보냅니다.

이 메서드는 포함된 창의 부모를 변경하지 않습니다. 스크롤을 위해 호출기 컨트롤에 창 핸들만 할당합니다. 대부분의 경우 포함된 창은 호출기 컨트롤의 자식 창이 됩니다.

예시

다음 예제에서는 호출기 컨트롤을 만든 다음 CPagerCtrl::SetChild 메서드를 사용하여 매우 긴 단추 컨트롤을 호출기 컨트롤과 연결합니다. 그런 다음, 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] 픽셀 단위로 측정된 새 스크롤 위치입니다.

설명

이 메서드는 Windows SDK에 설명된 PGM_SETPOS 메시지를 보냅니다.

참고 항목

CPagerCtrl 클래스
계층 구조 차트
Pager 컨트롤