Share via


CPagerCtrl クラス

CPagerCtrl クラスは、Windows のページャー コントロールをラップします。ページャー コントロールには、外側のウィンドウに収まらない内側のウィンドウをスクロールによって表示する機能があります。

構文

class CPagerCtrl : public CWnd

メンバー

パブリック コンストラクター

名前 説明
CPagerCtrl::CPagerCtrl CPagerCtrl オブジェクトを構築します。

パブリック メソッド

名前 説明
CPagerCtrl::Create 指定したスタイルを持つポケットベル コントロールを作成し、現在 CPagerCtrl のオブジェクトにアタッチします。
CPagerCtrl::CreateEx 指定した拡張スタイルを持つポケットベル コントロールを作成し、現在 CPagerCtrl のオブジェクトにアタッチします。
CPagerCtrl::ForwardMouse 現在のポケットベル コントロールWM_MOUStandard Edition含まれるウィンドウへのMOVE メッセージの転送を有効または無効にします。
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 エクスプローラー バージョン 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。

戻り値

このメソッドが成功した場合は TRUE。それ以外の場合は FAL Standard Edition。

解説

ポケットベル コントロールを作成するには、変数を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。

戻り値

このメソッドが成功した場合は TRUE。それ以外の場合は FAL Standard Edition。

解説

ポケットベル コントロールを作成するには、変数をCPagerCtrl宣言し、その変数に対して CPagerCtrl::Create メソッドまたは CPagerCtrl::CreateEx メソッドを呼び出します。

CPagerCtrl::ForwardMouse

現在のポケットベル コントロールWM_MOUStandard Edition含まれるウィンドウへのMOVE メッセージの転送を有効または無効にします。

void ForwardMouse(BOOL bForward);

パラメーター

bForward
[in]マウス メッセージを転送する場合は TRUE、マウス メッセージを転送しない場合は FAL Standard Edition。

解説

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

CPagerCtrl::GetBorder

現在のポケットベル コントロールの境界線サイズを取得します。

int GetBorder() const;

戻り値

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

解説

このメソッドは、Windows SDK で説明されている PGM_GETB (テラバイト)ORDER メッセージを送信します。

次の例では、 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_GETB (テラバイト)KCOLOR メッセージを送信します。

次の例では、 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_GETB (テラバイト)UTTONSIZE メッセージを送信します。

ページャー コントロールに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を指定します。 詳細については、「ポケットベル コントロールのスタイル」を参照してください

戻り値

iButton パラメーターで指定されたボタンの状態。 状態は、PGF_INVISIBLE、PGF_NORMAL、PGF_GRAYED、PGF_DEPRESStandard Edition D、またはPGF_HOTのいずれかです。 詳細については、PGM_GETB (テラバイト)UTTONSTATE メッセージの戻り値セクションを参照してください。

解説

このメソッドは、Windows SDK で説明されている PGM_GETB (テラバイト)UTTONSTATE メッセージを送信します。

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を指定します。 詳細については、「ポケットベル コントロールのスタイル」を参照してください

戻り値

指定したボタンが押された状態の場合は TRUE。それ以外の場合は FAL Standard Edition。

解説

このメソッドは、Windows SDK で説明されている PGM_GETB (テラバイト)UTTONSTATE メッセージを送信します。 次に、返される状態がPGF_DEPRESStandard Edition D かどうかをテストします。 詳細については、PGM_GETB (テラバイト)UTTONSTATE メッセージの戻り値セクションを参照してください。

CPagerCtrl::IsButtonGrayed

現在のポケットベル コントロールの指定されたスクロール ボタンが灰色の状態かどうかを示します。

BOOL IsButtonGrayed(int iButton) const;

パラメーター

Ibutton
[in]状態が取得されるボタンを示します。 ポケットベル コントロール スタイルがPGS_HORZ場合は、左ボタンにPGB_TOPORLEFTを指定し、右ボタンにPGB_BOTTOMORRIGHTします。 ポケットベル コントロール スタイルがPGS_VERTされている場合は、上部ボタンにPGB_TOPORLEFTを指定し、下部ボタンにPGB_BOTTOMORRIGHTを指定します。 詳細については、「ポケットベル コントロールのスタイル」を参照してください

戻り値

指定したボタンが灰色の状態の場合は TRUE。それ以外の場合は FAL Standard Edition。

解説

このメソッドは、Windows SDK で説明されている PGM_GETB (テラバイト)UTTONSTATE メッセージを送信します。 次に、返される状態がPGF_GRAYEDされているかどうかをテストします。 詳細については、PGM_GETB (テラバイト)UTTONSTATE メッセージの戻り値セクションを参照してください。

CPagerCtrl::IsButtonHot

現在のポケットベル コントロールの指定したスクロール ボタンがホットな状態かどうかを示します。

BOOL IsButtonHot(int iButton) const;

パラメーター

Ibutton
[in]状態が取得されるボタンを示します。 ポケットベル コントロール スタイルがPGS_HORZ場合は、左ボタンにPGB_TOPORLEFTを指定し、右ボタンにPGB_BOTTOMORRIGHTします。 ポケットベル コントロール スタイルがPGS_VERTされている場合は、上部ボタンにPGB_TOPORLEFTを指定し、下部ボタンにPGB_BOTTOMORRIGHTを指定します。 詳細については、「ポケットベル コントロールのスタイル」を参照してください

戻り値

指定したボタンがホットな状態の場合は TRUE。それ以外の場合は FAL Standard Edition。

解説

このメソッドは、Windows SDK で説明されている PGM_GETB (テラバイト)UTTONSTATE メッセージを送信します。 次に、返される状態がPGF_HOTかどうかをテストします。 詳細については、PGM_GETB (テラバイト)UTTONSTATE メッセージの戻り値セクションを参照してください。

CPagerCtrl::IsButtonInvisible

現在のポケットベル コントロールの指定したスクロール ボタンが非表示状態かどうかを示します。

BOOL IsButtonInvisible(int iButton) const;

パラメーター

Ibutton
[in]状態が取得されるボタンを示します。 ポケットベル コントロール スタイルがPGS_HORZ場合は、左ボタンにPGB_TOPORLEFTを指定し、右ボタンにPGB_BOTTOMORRIGHTします。 ポケットベル コントロール スタイルがPGS_VERTされている場合は、上部ボタンにPGB_TOPORLEFTを指定し、下部ボタンにPGB_BOTTOMORRIGHTを指定します。 詳細については、「ポケットベル コントロールのスタイル」を参照してください

戻り値

指定したボタンが非表示の状態の場合は TRUE。それ以外の場合は FAL Standard Edition。

解説

含まれているウィンドウが最も遠い範囲までスクロールされている場合、Windows は特定の方向のスクロール ボタンを非表示にします。これは、ボタンをさらにクリックすると、含まれているウィンドウの多くを表示できないためです。

このメソッドは、Windows SDK で説明されている PGM_GETB (テラバイト)UTTONSTATE メッセージを送信します。 次に、返される状態がPGF_INVISIBLEかどうかをテストします。 詳細については、PGM_GETB (テラバイト)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を指定します。 詳細については、「ポケットベル コントロールのスタイル」を参照してください

戻り値

指定したボタンが通常の状態の場合は TRUE。それ以外の場合は FAL Standard Edition。

解説

このメソッドは、Windows SDK で説明されている PGM_GETB (テラバイト)UTTONSTATE メッセージを送信します。 次に、返される状態がPGF_NORMALされているかどうかをテストします。 詳細については、PGM_GETB (テラバイト)UTTONSTATE メッセージの戻り値セクションを参照してください。

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 値。

戻り値

ページャー コントロールの前の背景色を含む COLORREF 値。

解説

このメソッドは、Windows SDK で説明されている PGM_Standard EditionTB (テラバイト)KCOLOR メッセージを送信します。

次の例では、 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_Standard EditionTB (テラバイト)ORDER メッセージを送信します。

次の例では、ポケットベル コントロールを作成し、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_Standard EditionTB (テラバイト)UTTONSIZE メッセージを送信します。

ページャー コントロールにPGS_HORZ スタイルがある場合、ボタン サイズによってページャー ボタンの幅が決まります。ページャー コントロールにPGS_VERTスタイルがある場合、ボタン のサイズによってページャー ボタンの高さが決まります。 既定のボタン サイズはスクロール バーの幅の 4 分の 3 で、最小ボタン サイズは 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_Standard Edition TCHILD メッセージを送信します。

このメソッドは、包含ウィンドウの親を変更しません。スクロール用のページャー コントロールにのみウィンドウ ハンドルが割り当てられます。 ほとんどの場合、含まれるウィンドウはポケットベル コントロールの子ウィンドウになります。

次の例では、ポケットベル コントロールを作成し、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);

パラメーター

Ipo
[in]新しいスクロール位置 (ピクセル単位)。

解説

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

関連項目

CPagerCtrl クラス
階層図
ポケットベル コントロール