次の方法で共有


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 現在のポケットベル コントロールのスクロール位置を設定します。

解説

ポケットベル コントロールは、含まれているウィンドウよりも直線的で大きい別のウィンドウを含むウィンドウであり、含まれているウィンドウをスクロールして表示できます。 ポケットベル コントロールには、含まれているウィンドウが最も遠い範囲までスクロールされたときに自動的に消える 2 つのスクロール ボタンが表示され、それ以外の場合は再び表示されます。 水平方向または垂直方向にスクロールするポケットベル コントロールを作成できます。

たとえば、アプリケーションに、すべての項目を表示するのに十分な幅ではないツール バーがある場合は、ツールバーをポケットベル コントロールに割り当てることができ、ユーザーはツールバーを左または右にスクロールしてすべての項目にアクセスできます。 Microsoft Internet Explorer のバージョン 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]コントロールに適用する ウィンドウ スタイル および pager コントロール スタイルのビットごとの組み合わせ (OR

rect
[in]クライアント座標内のコントロールの位置とサイズを含む RECT 構造体への参照。

pParentWnd
[in]コントロールの親ウィンドウである CWnd オブジェクトへのポインター。 このパラメーターは NULL にはできません。

nID
[in]コントロールの ID。

戻り値

このメソッドが成功した場合は 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]コントロールに適用する ウィンドウ スタイル および pager コントロール スタイルのビットごとの組み合わせ (OR

rect
[in]クライアント座標内のコントロールの位置とサイズを含む RECT 構造体への参照。

pParentWnd
[in]コントロールの親ウィンドウである CWnd オブジェクトへのポインター。 このパラメーターは NULL にはできません。

nID
[in]コントロールの ID。

戻り値

このメソッドが成功した場合は 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;

戻り値

現在の境界線のサイズ (ピクセル単位)。

解説

このメソッドは、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;

戻り値

ページャー コントロールの現在の背景色を含む 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;

戻り値

現在のボタン サイズ (ピクセル単位)。

解説

このメソッドは、Windows SDK で説明されている PGM_GETBUTTONSIZE メッセージを送信します。

ページャー コントロールに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_GETBUTTONSTATE メッセージの戻り値セクションを参照してください。

解説

このメソッドは、Windows SDK で説明されている PGM_GETBUTTONSTATE メッセージを送信します。

CPagerCtrl::GetDropTarget

現在のポケットベル コントロールの IDropTarget インターフェイスを取得します。

IDropTarget* GetDropTarget() const;

戻り値

現在のポケットベル コントロールの IDropTarget インターフェイスへのポインター。

解説

IDropTarget は、アプリケーションでのドラッグ アンド ドロップ操作をサポートするために実装するインターフェイスの 1 つです。

このメソッドは、Windows SDK で説明されている PGM_GETDROPTARGET メッセージを送信します。 このメソッドの呼び出し元は、インターフェイスが不要になったときに、IDropTarget インターフェイスのRelease メンバーを呼び出す役割を担います。

CPagerCtrl::GetScrollPos

現在のポケットベル コントロールのスクロール位置を取得します。

int GetScrollPos() const;

戻り値

現在のスクロール位置 (ピクセル単位)。

解説

このメソッドは、Windows SDK で説明されている PGM_GETPOS メッセージを送信します。

次の例では、 CPagerCtrl::GetScrollPos メソッドを使用して、ページャー コントロールの現在のスクロール位置を取得します。 ページャー コントロールがまだゼロ (左端) にスクロールされていない場合、この例では 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を指定します。 詳細については、「 Pager コントロール のスタイル」を参照してください。

戻り値

指定したボタンが押された状態の場合は 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を指定します。 詳細については、「 Pager コントロール のスタイル」を参照してください。

戻り値

指定したボタンが灰色の状態の場合は 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を指定します。 詳細については、「 Pager コントロール のスタイル」を参照してください。

戻り値

指定したボタンがホットな状態の場合は 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を指定します。 詳細については、「 Pager コントロール のスタイル」を参照してください。

戻り値

指定したボタンが非表示の状態の場合は 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を指定します。 詳細については、「 Pager コントロール のスタイル」を参照してください。

戻り値

指定したボタンが通常の状態の場合は 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

次の例では、 message リフレクション を使用して、ポケットベル コントロールが、コントロールの親ダイアログで計算を実行する代わりに、独自のサイズを再計算できるようにします。 この例では、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 値。

戻り値

ページャー コントロールの前の背景色を含む 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 に設定されます。

戻り値

前の境界線のサイズ (ピクセル単位)。

解説

このメソッドは、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]新しいボタン サイズ (ピクセル単位)。

戻り値

前のボタンのサイズ (ピクセル単位)。

解説

このメソッドは、Windows SDK で説明されている PGM_SETBUTTONSIZE メッセージを送信します。

ページャー コントロールにPGS_HORZ スタイルがある場合、ボタン サイズによってページャー ボタンの幅が決まります。ページャー コントロールにPGS_VERTスタイルがある場合、ボタン のサイズによってページャー ボタンの高さが決まります。 既定のボタン サイズはスクロール バーの幅の 4 分の 3 で、最小ボタン サイズは 12 ピクセルです。 詳細については、「 Pager コントロール のスタイル」を参照してください。

次の例では、ポケットベル コントロールを作成し、 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 クラス
階層図
ページ コントロール