CButton クラスCButton Class

Windows のボタン コントロールの機能が用意されています。Provides the functionality of Windows button controls.

構文Syntax

class CButton : public CWnd

メンバーMembers

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

名前Name 説明Description
CButton:: CButtonCButton::CButton CButton オブジェクトを構築します。Constructs a CButton object.

パブリック メソッドPublic Methods

名前Name 説明Description
CButton:: CreateCButton::Create Windows のボタンコントロールを作成し、オブジェクトにアタッチし CButton ます。Creates the Windows button control and attaches it to the CButton object.
CButton::D rawItemCButton::DrawItem オーナー描画オブジェクトを描画するには、をオーバーライド CButton します。Override to draw an owner-drawn CButton object.
CButton:: GetBitmapCButton::GetBitmap 以前に SetBitmapで設定されたビットマップのハンドルを取得します。Retrieves the handle of the bitmap previously set with SetBitmap.
CButton:: GetButtonStyleCButton::GetButtonStyle ボタンコントロールスタイルに関する情報を取得します。Retrieves information about the button control style.
CButton:: GetCheckCButton::GetCheck ボタンコントロールのチェックの状態を取得します。Retrieves the check state of a button control.
CButton:: GetCursorCButton::GetCursor 以前に SetCursorで設定したカーソルイメージのハンドルを取得します。Retrieves the handle of the cursor image previously set with SetCursor.
CButton:: GetIconCButton::GetIcon 以前に SetIconで設定したアイコンのハンドルを取得します。Retrieves the handle of the icon previously set with SetIcon.
CButton:: GetIdealSizeCButton::GetIdealSize ボタンコントロールの理想的なサイズを取得します。Retrieves the ideal size of the button control.
CButton:: GetImageListCButton::GetImageList ボタンコントロールのイメージリストを取得します。Retrieves the image list of the button control.
CButton:: GetNoteCButton::GetNote 現在のコマンドリンクコントロールのノートコンポーネントを取得します。Retrieves the note component of the current command link control.
CButton:: GetNoteLengthCButton::GetNoteLength 現在のコマンドリンクコントロールのノートテキストの長さを取得します。Retrieves the length of the note text for the current command link control.
CButton:: GetSplitGlyphCButton::GetSplitGlyph 現在の分割ボタンコントロールに関連付けられているグリフを取得します。Retrieves the glyph associated with the current split button control.
CButton:: GetSplitImageListCButton::GetSplitImageList 現在の分割ボタンコントロールのイメージリストを取得します。Retrieves the image list for the current split button control.
CButton:: GetSplitInfoCButton::GetSplitInfo 現在の分割ボタンコントロールを定義する情報を取得します。Retrieves information that defines the current split button control.
CButton:: GetSplitSizeCButton::GetSplitSize 現在の分割ボタンコントロールのドロップダウンコンポーネントの外接する四角形を取得します。Retrieves the bounding rectangle of the drop-down component of the current split button control.
CButton:: GetSplitStyleCButton::GetSplitStyle 現在の分割ボタンコントロールを定義する分割ボタンのスタイルを取得します。Retrieves the split button styles that define the current split button control.
CButton:: GetStateCButton::GetState ボタンコントロールのチェック状態、強調表示状態、およびフォーカス状態を取得します。Retrieves the check state, highlight state, and focus state of a button control.
CButton:: GetTextMarginCButton::GetTextMargin ボタンコントロールのテキストの余白を取得します。Retrieves the text margin of the button control.
CButton:: SetBitmapCButton::SetBitmap ボタンに表示されるビットマップを指定します。Specifies a bitmap to be displayed on the button.
CButton:: SetButtonStyleCButton::SetButtonStyle ボタンのスタイルを変更します。Changes the style of a button.
CButton:: SetCheckCButton::SetCheck ボタンコントロールのチェックの状態を設定します。Sets the check state of a button control.
CButton:: SetCursorCButton::SetCursor ボタンに表示されるカーソルイメージを指定します。Specifies a cursor image to be displayed on the button.
CButton:: SetDropDownStateCButton::SetDropDownState 現在の分割ボタンコントロールのドロップダウン状態を設定します。Sets the drop-down state of the current split button control.
CButton:: SetIconCButton::SetIcon ボタンに表示するアイコンを指定します。Specifies an icon to be displayed on the button.
CButton:: SetImageListCButton::SetImageList ボタンコントロールのイメージリストを設定します。Sets the image list of the button control.
CButton:: SetNoteCButton::SetNote 現在のコマンドリンクコントロールでメモを設定します。Sets the note on the current command link control.
CButton:: SetSplitGlyphCButton::SetSplitGlyph 指定したグリフを現在の分割ボタンコントロールに関連付けます。Associates a specified glyph with the current split button control.
CButton:: SetSplitImageListCButton::SetSplitImageList イメージリストを現在の分割ボタンコントロールに関連付けます。Associates an image list with the current split button control.
CButton:: SetSplitInfoCButton::SetSplitInfo 現在の分割ボタンコントロールを定義する情報を指定します。Specifies information that defines the current split button control.
CButton:: SetSplitSizeCButton::SetSplitSize 現在の分割ボタンコントロールのドロップダウンコンポーネントの外接する四角形を設定します。Sets the bounding rectangle of the drop-down component of the current split button control.
CButton:: SetSplitStyleCButton::SetSplitStyle 現在の分割ボタンコントロールのスタイルを設定します。Sets the style of the current split button control.
CButton:: SetStateCButton::SetState ボタンコントロールの強調表示の状態を設定します。Sets the highlighting state of a button control.
CButton:: SetTextMarginCButton::SetTextMargin ボタンコントロールのテキストの余白を設定します。Sets the text margin of the button control.

解説Remarks

ボタンコントロールは、クリックまたはオフにできる小さな四角形の子ウィンドウです。A button control is a small, rectangular child window that can be clicked on and off. ボタンは単独またはグループで使用でき、テキストなしでラベル付けまたは表示できます。Buttons can be used alone or in groups and can either be labeled or appear without text. ボタンは、通常、ユーザーがボタンをクリックしたときに外観を変更します。A button typically changes appearance when the user clicks it.

一般的なボタンは、チェックボックス、オプションボタン、およびプッシュボタンです。Typical buttons are the check box, radio button, and pushbutton. オブジェクトは、 CButton Create member 関数による初期化時に指定されたボタンスタイルに従って、これらのいずれかになります。A CButton object can become any of these, according to the button style specified at its initialization by the Create member function.

さらに、から派生した Cbitmapbutton クラスは、 CButton テキストではなくビットマップイメージでラベル付けされたボタンコントロールの作成をサポートしています。In addition, the CBitmapButton class derived from CButton supports creation of button controls labeled with bitmap images instead of text. では、 CBitmapButton ボタンの上下の状態に対して個別のビットマップを使用できます。A CBitmapButton can have separate bitmaps for a button's up, down, focused, and disabled states.

ボタンコントロールは、ダイアログテンプレートから作成することも、コード内で直接作成することもできます。You can create a button control either from a dialog template or directly in your code. どちらの場合も、最初にコンストラクターを呼び出し CButton CButton てオブジェクトを構築した後、メンバー関数を呼び出して Create Windows ボタンコントロールを作成し、それをオブジェクトにアタッチし CButton ます。In both cases, first call the constructor CButton to construct the CButton object; then call the Create member function to create the Windows button control and attach it to the CButton object.

構築は、から派生したクラスの1ステップのプロセスにすることができ CButton ます。Construction can be a one-step process in a class derived from CButton. 派生クラスのコンストラクターを記述し、 Create コンストラクター内からを呼び出します。Write a constructor for the derived class and call Create from within the constructor.

ボタンコントロールから親 (通常は、 CDialogから派生したクラス) に送信される Windows 通知メッセージを処理する場合は、各メッセージの親クラスにメッセージマップエントリとメッセージハンドラーメンバー関数を追加します。If you want to handle Windows notification messages sent by a button control to its parent (usually a class derived from CDialog), add a message-map entry and message-handler member function to the parent class for each message.

各メッセージマップエントリには、次の形式があります。Each message-map entry takes the following form:

**オン _ **通知 ( id, memberFxn )ON_Notification ( id, memberFxn )

ここで、 id で通知を送信するコントロールの子ウィンドウ id を指定します。 memberFxn は、通知を処理するために記述した親メンバー関数の名前です。where id specifies the child window ID of the control sending the notification and memberFxn is the name of the parent member function you have written to handle the notification.

親の関数プロトタイプは次のとおりです。The parent's function prototype is as follows:

afx_msg void memberFxn();

考えられるメッセージマップエントリは次のとおりです。Potential message-map entries are as follows:

マップエントリMap entry 親に送信されたときSent to parent when...
ON_BN_CLICKEDON_BN_CLICKED ユーザーがボタンをクリックします。The user clicks a button.
ON_BN_DOUBLECLICKEDON_BN_DOUBLECLICKED ユーザーがボタンをダブルクリックします。The user double-clicks a button.

ダイアログリソースからオブジェクトを作成すると、 CButton ユーザーが CButton ダイアログボックスを閉じたときにオブジェクトが自動的に破棄されます。If you create a CButton object from a dialog resource, the CButton object is automatically destroyed when the user closes the dialog box.

ウィンドウ内にオブジェクトを作成する場合は CButton 、そのオブジェクトを破棄する必要がある場合があります。If you create a CButton object within a window, you may need to destroy it. 関数を使用してヒープにオブジェクトを作成する場合は、 CButton new delete ユーザーが Windows ボタンコントロールを閉じたときにオブジェクトを破棄するために、を呼び出す必要があります。If you create the CButton object on the heap by using the new function, you must call delete on the object to destroy it when the user closes the Windows button control. オブジェクトをスタックに作成した場合 CButton 、または親ダイアログオブジェクトに埋め込んだ場合は、自動的に破棄されます。If you create the CButton object on the stack, or it is embedded in the parent dialog object, it is destroyed automatically.

継承階層Inheritance Hierarchy

CObjectCObject

CCmdTargetCCmdTarget

CWndCWnd

CButton

必要条件Requirements

ヘッダー: afxwin.hHeader: afxwin.h

CButton:: CButtonCButton::CButton

CButton オブジェクトを構築します。Constructs a CButton object.

CButton();

Example

// Declare a button object.
CButton myButton;

CButton:: CreateCButton::Create

Windows のボタンコントロールを作成し、オブジェクトにアタッチし CButton ます。Creates the Windows button control and attaches it to the CButton object.

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

パラメーターParameters

lpszCaptionlpszCaption
ボタンコントロールのテキストを指定します。Specifies the button control's text.

dwStyledwStyle
ボタンコントロールのスタイルを指定します。Specifies the button control's style. ボタン スタイル の任意の組み合わせをボタンに適用します。Apply any combination of button styles to the button.

rectrect
ボタンコントロールのサイズと位置を指定します。Specifies the button control's size and position. CRectオブジェクトまたは構造体のいずれかを指定でき RECT ます。It can be either a CRect object or a RECT structure.

pParentWndpParentWnd
ボタンコントロールの親ウィンドウ (通常は) を指定し CDialog ます。Specifies the button control's parent window, usually a CDialog. NULL にすることはできません。It must not be NULL.

nIDnID
ボタンコントロールの ID を指定します。Specifies the button control's ID.

戻り値Return Value

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。Nonzero if successful; otherwise 0.

解説Remarks

オブジェクトを構築するには、 CButton 2 つの手順を実行します。You construct a CButton object in two steps. まず、コンストラクターを呼び出し、次に Create を呼び出します。これにより、Windows ボタンコントロールが作成され、オブジェクトにアタッチさ CButton れます。First, call the constructor and then call Create, which creates the Windows button control and attaches it to the CButton object.

WS_VISIBLE スタイルが指定されている場合、アクティブ化してボタンを表示するために必要なすべてのメッセージが button コントロールに送信されます。If the WS_VISIBLE style is given, Windows sends the button control all the messages required to activate and show the button.

次の ウィンドウスタイル をボタンコントロールに適用します。Apply the following window styles to a button control:

  • 常に WS_CHILDWS_CHILD Always

  • WS_VISIBLE 通常WS_VISIBLE Usually

  • WS_DISABLED はまれWS_DISABLED Rarely

  • グループコントロールに WS_GROUPWS_GROUP To group controls

  • タブオーダーにボタンを含める WS_TABSTOPWS_TABSTOP To include the button in the tabbing order

Example

CButton myButton1, myButton2, myButton3, myButton4;

// Create a push button.
myButton1.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
                 CRect(10, 10, 100, 30), pParentWnd, 1);

// Create a radio button.
myButton2.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
                 CRect(10, 40, 100, 70), pParentWnd, 2);

// Create an auto 3-state button.
myButton3.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTO3STATE,
                 CRect(10, 70, 100, 100), pParentWnd, 3);

// Create an auto check box.
myButton4.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX,
                 CRect(10, 100, 100, 130), pParentWnd, 4);

CButton::D rawItemCButton::DrawItem

オーナー描画ボタンの外観が変更されたときにフレームワークによって呼び出されます。Called by the framework when a visual aspect of an owner-drawn button has changed.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

パラメーターParameters

lpDrawItemStructlpDrawItemStruct
DRAWITEMSTRUCT構造体への long ポインター。A long pointer to a DRAWITEMSTRUCT structure. 構造体には、描画する項目と必要な描画の種類に関する情報が含まれます。The structure contains information about the item to be drawn and the type of drawing required.

解説Remarks

オーナー描画のボタンには、BS_OWNERDRAW スタイルが設定されています。An owner-drawn button has the BS_OWNERDRAW style set. オーナー描画オブジェクトの描画を実装するには、このメンバー関数をオーバーライド CButton します。Override this member function to implement drawing for an owner-drawn CButton object. アプリケーションでは、メンバー関数が終了する前に、 lpDrawItemStruct で指定された表示コンテキスト用に選択されたすべてのグラフィックスデバイスインターフェイス (GDI) オブジェクトを復元する必要があります。The application should restore all graphics device interface (GDI) objects selected for the display context supplied in lpDrawItemStruct before the member function terminates.

BS_スタイル値も参照してください。Also see the BS_ style values.

Example

// NOTE: CMyButton is a class derived from CButton. The CMyButton
// object was created as follows:
//
// CMyButton myButton;
// myButton.Create(_T("My button"),
//      WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,
//      CRect(10,10,100,30), pParentWnd, 1);
//

// This example implements the DrawItem method for a CButton-derived
// class that draws the button's text using the color red.
void CMyButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
   UINT uStyle = DFCS_BUTTONPUSH;

   // This code only works with buttons.
   ASSERT(lpDrawItemStruct->CtlType == ODT_BUTTON);

   // If drawing selected, add the pushed style to DrawFrameControl.
   if (lpDrawItemStruct->itemState & ODS_SELECTED)
      uStyle |= DFCS_PUSHED;

   // Draw the button frame.
   ::DrawFrameControl(lpDrawItemStruct->hDC, &lpDrawItemStruct->rcItem,
                      DFC_BUTTON, uStyle);

   // Get the button's text.
   CString strText;
   GetWindowText(strText);

   // Draw the button text using the text color red.
   COLORREF crOldColor = ::SetTextColor(lpDrawItemStruct->hDC, RGB(255, 0, 0));
   ::DrawText(lpDrawItemStruct->hDC, strText, strText.GetLength(),
              &lpDrawItemStruct->rcItem, DT_SINGLELINE | DT_VCENTER | DT_CENTER);
   ::SetTextColor(lpDrawItemStruct->hDC, crOldColor);
}

CButton:: GetBitmapCButton::GetBitmap

このメンバー関数を呼び出して、ボタンに関連付けられている、以前に SetBitmapで設定したビットマップのハンドルを取得します。Call this member function to get the handle of a bitmap, previously set with SetBitmap, that is associated with a button.

HBITMAP GetBitmap() const;

戻り値Return Value

ビットマップを処理するハンドル。A handle to a bitmap. 以前にビットマップが指定されていない場合は NULL です。NULL if no bitmap is previously specified.

Example

CButton myBitmapButton;

// Create a bitmap button.
myBitmapButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_BITMAP,
                      CRect(10, 10, 60, 50), pParentWnd, 1);

// If no bitmap is defined for the button, define the bitmap to the
// system close bitmap.
if (myBitmapButton.GetBitmap() == NULL)
   myBitmapButton.SetBitmap(::LoadBitmap(NULL, MAKEINTRESOURCE(OBM_CLOSE)));

CButton:: GetButtonStyleCButton::GetButtonStyle

ボタンコントロールスタイルに関する情報を取得します。Retrieves information about the button control style.

UINT GetButtonStyle() const;

戻り値Return Value

このオブジェクトのボタンスタイルを返し CButton ます。Returns the button styles for this CButton object. この関数は、他のウィンドウスタイルではなく、 BS_ スタイル値のみを返します。This function returns only the BS_ style values, not any of the other window styles.

Example

CButton myRadioButton;

// Create a radio button.
myRadioButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
                     CRect(10, 10, 100, 30), pParentWnd, 1);

// Change the button style to use one of the "auto" styles; for
// push button, change to def push button.
UINT uStyle = myRadioButton.GetButtonStyle();
if (uStyle == BS_PUSHBUTTON)
   uStyle = BS_DEFPUSHBUTTON;
else if (uStyle == BS_RADIOBUTTON)
   uStyle = BS_AUTORADIOBUTTON;
else if (uStyle == BS_CHECKBOX)
   uStyle = BS_AUTOCHECKBOX;
else if (uStyle == BS_3STATE)
   uStyle = BS_AUTO3STATE;

// Change the button style to the one wanted.
myRadioButton.SetButtonStyle(uStyle);

CButton:: GetCheckCButton::GetCheck

オプションボタンまたはチェックボックスのチェックの状態を取得します。Retrieves the check state of a radio button or check box.

int GetCheck() const;

戻り値Return Value

BS_AUTOCHECKBOX、BS_AUTORADIOBUTTON、BS_AUTO3STATE、BS_CHECKBOX、BS_RADIOBUTTON、または BS_3STATE スタイルを使用して作成されたボタンコントロールからの戻り値は、次のいずれかの値になります。The return value from a button control created with the BS_AUTOCHECKBOX, BS_AUTORADIOBUTTON, BS_AUTO3STATE, BS_CHECKBOX, BS_RADIOBUTTON, or BS_3STATE style is one of the following values:

Value 意味Meaning
BST_UNCHECKEDBST_UNCHECKED ボタンの状態がオフになっています。Button state is unchecked.
BST_CHECKEDBST_CHECKED ボタンの状態がチェックされます。Button state is checked.
BST_INDETERMINATEBST_INDETERMINATE ボタンの状態は不確定です (ボタンに BS_3STATE または BS_AUTO3STATE スタイルがある場合にのみ適用されます)。Button state is indeterminate (applies only if the button has the BS_3STATE or BS_AUTO3STATE style).

ボタンに他のスタイルがある場合、戻り値は BST_UNCHECKED です。If the button has any other style, the return value is BST_UNCHECKED.

Example

CButton myA3Button;

// Create an auto 3-state button.
myA3Button.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTO3STATE,
                  CRect(10, 10, 100, 30), pParentWnd, 1);

// Set the check state to the next state
// (i.e. BST_UNCHECKED changes to BST_CHECKED
// BST_CHECKED changes to BST_INDETERMINATE
// BST_INDETERMINATE changes to BST_UNCHECKED).
myA3Button.SetCheck(((myA3Button.GetCheck() + 1) % 3));

CButton:: GetCursorCButton::GetCursor

このメンバー関数を呼び出して、ボタンに関連付けられているカーソルのハンドルを取得します。これは、 SetCursorで設定されています。Call this member function to get the handle of a cursor, previously set with SetCursor, that is associated with a button.

HCURSOR GetCursor();

戻り値Return Value

カーソルイメージを処理するハンドル。A handle to a cursor image. カーソルが前に指定されていない場合は NULL です。NULL if no cursor is previously specified.

Example

CButton myIconButton;

// Create an icon button.
myIconButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
                    CRect(10, 10, 60, 50), pParentWnd, 1);

// If no image is defined for the button, define the image to the
// system arrow and question mark cursor.
if (myIconButton.GetCursor() == NULL)
   myIconButton.SetCursor(::LoadCursor(NULL, IDC_HELP));

CButton:: GetIconCButton::GetIcon

このメンバー関数を呼び出して、ボタンに関連付けられている SetIconで以前に設定したアイコンのハンドルを取得します。Call this member function to get the handle of an icon, previously set with SetIcon, that is associated with a button.

HICON GetIcon() const;

戻り値Return Value

アイコンにへのハンドル。A handle to an icon. 以前にアイコンが指定されていない場合は NULL です。NULL if no icon is previously specified.

Example

CButton myIconButton2;

// Create an icon button.
myIconButton2.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
                     CRect(10, 10, 60, 50), pParentWnd, 1);

// If no icon is defined for the button, define the icon to the
// system error icon.
if (myIconButton2.GetIcon() == NULL)
   myIconButton2.SetIcon(::LoadIcon(NULL, IDI_ERROR));

CButton:: GetIdealSizeCButton::GetIdealSize

ボタンコントロールの理想的なサイズを取得します。Retrieves the ideal size for the button control.

BOOL GetIdealSize(SIZE* psize);

パラメーターParameters

psizepsize
ボタンの現在のサイズへのポインター。A pointer to the current size of the button.

戻り値Return Value

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。Nonzero if successful; otherwise 0.

解説Remarks

このメンバー関数は、Windows SDK の [ ボタン ] セクションで説明されているように、BCM_GETIDEALSIZE メッセージの機能をエミュレートします。This member function emulates the functionality of the BCM_GETIDEALSIZE message, as described in the Buttons section of the Windows SDK.

CButton:: GetImageListCButton::GetImageList

ボタンコントロールからイメージリストを取得するには、このメソッドを呼び出します。Call this method to get the image list from the button control.

BOOL GetImageList(PBUTTON_IMAGELIST pbuttonImagelist);

パラメーターParameters

pbuttonImagelistpbuttonImagelist
オブジェクトのイメージリストへのポインター CButtonA pointer to the image list of the CButton object.

戻り値Return Value

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。Nonzero if successful; otherwise 0.

解説Remarks

このメンバー関数は、Windows SDK の [ ボタン ] セクションで説明されているように、BCM_GETIMAGELIST メッセージの機能をエミュレートします。This member function emulates the functionality of the BCM_GETIMAGELIST message, as described in the Buttons section of the Windows SDK.

CButton:: GetNoteCButton::GetNote

現在のコマンドリンクコントロールに関連付けられているノートテキストを取得します。Retrieves the note text associated with the current command link control.

CString GetNote() const;

BOOL GetNote(
    LPTSTR lpszNote,
    UINT* cchNote) const;

パラメーターParameters

lpszNotelpszNote
入出力バッファーへのポインター。呼び出し元が割り当てと割り当て解除を行います。[out] Pointer to a buffer, which the caller is responsible for allocating and deallocating. 戻り値が TRUE の場合、現在のコマンドリンクコントロールに関連付けられているノートテキストがバッファーに格納されます。それ以外の場合、バッファーは変更されません。If the return value is TRUE, the buffer contains the note text that is associated with the current command link control; otherwise, the buffer is unchanged.

cchNotecchNote
[入力、出力]符号なし整数変数へのポインター。[in, out] A pointer to an unsigned integer variable. このメソッドが呼び出されると、変数には、 Lpsznote パラメーターによって指定されたバッファーのサイズが格納されます。When this method is called, the variable contains the size of the buffer specified by the lpszNote parameter. このメソッドから制御が戻るときに、戻り値が TRUE の場合、現在のコマンドリンクコントロールに関連付けられているメモのサイズが変数に格納されます。When this method returns, if the return value is TRUE the variable contains the size of the note associated with the current command link control. 戻り値が FALSE の場合、変数には、メモを格納するために必要なバッファーサイズが格納されます。If the return value is FALSE, the variable contains the buffer size required to contain the note.

戻り値Return Value

最初のオーバーロードでは、現在のコマンドリンクコントロールに関連付けられているノートテキストを含む CString オブジェクト。In the first overload, a CString object that contains the note text associated with the current command link control.

- または --or-

2番目のオーバーロードでは、このメソッドが成功した場合は TRUE になります。それ以外の場合は FALSE。In the second overload, TRUE if this method is successful; otherwise, FALSE.

解説Remarks

このメソッドは、ボタンスタイルが BS_COMMANDLINK または BS_DEFCOMMANDLINK コントロールでのみ使用します。Use this method only with controls whose button style is BS_COMMANDLINK or BS_DEFCOMMANDLINK.

このメソッドは、Windows SDK で説明されている BCM_GETNOTE メッセージを送信します。This method sends the BCM_GETNOTE message, which is described in the Windows SDK.

CButton:: GetNoteLengthCButton::GetNoteLength

現在のコマンドリンクコントロールのノートテキストの長さを取得します。Retrieves the length of the note text for the current command link control.

UINT GetNoteLength() const;

戻り値Return Value

現在のコマンドリンクコントロールのノートテキストの長さ (16 ビット Unicode 文字)。The length of the note text, in 16-bit Unicode characters, for the current command link control.

解説Remarks

このメソッドは、ボタンスタイルが BS_COMMANDLINK または BS_DEFCOMMANDLINK コントロールでのみ使用します。Use this method only with controls whose button style is BS_COMMANDLINK or BS_DEFCOMMANDLINK.

このメソッドは、Windows SDK で説明されている BCM_GETNOTELENGTH メッセージを送信します。This method sends the BCM_GETNOTELENGTH message, which is described in the Windows SDK.

CButton:: GetSplitGlyphCButton::GetSplitGlyph

現在の分割ボタンコントロールに関連付けられているグリフを取得します。Retrieves the glyph associated with the current split button control.

TCHAR GetSplitGlyph() const;

戻り値Return Value

現在の分割ボタンコントロールに関連付けられているグリフ文字。The glyph character associated with the current split button control.

解説Remarks

グリフは、特定のフォントにおける文字の物理的な表現です。A glyph is the physical representation of a character in a particular font. たとえば、分割ボタンコントロールは、Unicode チェックマーク文字 (U + 2713) のグリフで装飾される場合があります。For example, a split button control might be decorated with the glyph of the Unicode check mark character (U+2713).

このメソッドは、ボタンスタイルが BS_SPLITBUTTON または BS_DEFSPLITBUTTON コントロールでのみ使用します。Use this method only with controls whose button style is BS_SPLITBUTTON or BS_DEFSPLITBUTTON.

このメソッドは、 mask BCSIF_GLYPH フラグを使用して BUTTON_SPLITINFO 構造体のメンバーを初期化し、Windows SDK で説明されている BCM_GETSPLITINFO メッセージにその構造体を送信します。This method initializes the mask member of a BUTTON_SPLITINFO structure with the BCSIF_GLYPH flag, and then sends that structure in the BCM_GETSPLITINFO message that is described in the Windows SDK. メッセージ関数がを返すと、このメソッドは構造体のメンバーからグリフを取得し himlGlyph ます。When the message function returns, this method retrieves the glyph from the himlGlyph member of the structure.

CButton:: GetSplitImageListCButton::GetSplitImageList

現在の分割ボタンコントロールの イメージリスト を取得します。Retrieves the image list for the current split button control.

CImageList* GetSplitImageList() const;

戻り値Return Value

CImageListオブジェクトへのポインター。A pointer to a CImageList object.

解説Remarks

このメソッドは、ボタンスタイルが BS_SPLITBUTTON または BS_DEFSPLITBUTTON コントロールでのみ使用します。Use this method only with controls whose button style is BS_SPLITBUTTON or BS_DEFSPLITBUTTON.

このメソッドは、 mask BCSIF_IMAGE フラグを使用して BUTTON_SPLITINFO 構造体のメンバーを初期化し、Windows SDK で説明されている BCM_GETSPLITINFO メッセージにその構造体を送信します。This method initializes the mask member of a BUTTON_SPLITINFO structure with the BCSIF_IMAGE flag, and then sends that structure in the BCM_GETSPLITINFO message that is described in the Windows SDK. メッセージ関数がを返すと、このメソッドは構造体のメンバーからイメージリストを取得し himlGlyph ます。When the message function returns, this method retrieves the image list from the himlGlyph member of the structure.

CButton:: GetSplitInfoCButton::GetSplitInfo

ウィンドウが現在の分割ボタンコントロールを描画する方法を決定するパラメーターを取得します。Retrieves parameters that determine how Windows draws the current split button control.

BOOL GetSplitInfo(PBUTTON_SPLITINFO pInfo) const;

パラメーターParameters

pInfopInfo
入出力現在の分割ボタンコントロールに関する情報を受け取る BUTTON_SPLITINFO 構造体へのポインター。[out] Pointer to a BUTTON_SPLITINFO structure that receives information about the current split button control. 呼び出し元は、構造体の割り当てを行います。The caller is responsible for allocating the structure.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

解説Remarks

このメソッドは、ボタンスタイルが BS_SPLITBUTTON または BS_DEFSPLITBUTTON コントロールでのみ使用します。Use this method only with controls whose button style is BS_SPLITBUTTON or BS_DEFSPLITBUTTON.

このメソッドは、Windows SDK で説明されている BCM_GETSPLITINFO メッセージを送信します。This method sends the BCM_GETSPLITINFO message, which is described in the Windows SDK.

CButton:: GetSplitSizeCButton::GetSplitSize

現在の分割ボタンコントロールのドロップダウンコンポーネントの外接する四角形を取得します。Retrieves the bounding rectangle of the drop-down component of the current split button control.

BOOL GetSplitSize(LPSIZE pSize) const;

パラメーターParameters

pSizepSize
入出力四角形の説明を受け取る サイズ 構造体へのポインター。[out] Pointer to a SIZE structure that receives the description of a rectangle.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

解説Remarks

このメソッドは、ボタンスタイルが BS_SPLITBUTTON または BS_DEFSPLITBUTTON コントロールでのみ使用します。Use this method only with controls whose button style is BS_SPLITBUTTON or BS_DEFSPLITBUTTON.

分割ボタンコントロールが展開されると、リストコントロールやページャーコントロールなどのドロップダウンコンポーネントが表示されます。When the split button control is expanded, it can display a drop-down component such as a list control or pager control. このメソッドは、ドロップダウンコンポーネントを含む外接する四角形を取得します。This method retrieves the bounding rectangle that contains the drop-down component.

このメソッドは、 mask BCSIF_SIZE フラグを使用して BUTTON_SPLITINFO 構造体のメンバーを初期化し、Windows SDK で説明されている BCM_GETSPLITINFO メッセージにその構造体を送信します。This method initializes the mask member of a BUTTON_SPLITINFO structure with the BCSIF_SIZE flag, and then sends that structure in the BCM_GETSPLITINFO message that is described in the Windows SDK. メッセージ関数がを返すと、このメソッドは構造体のメンバーから外接する四角形を取得し size ます。When the message function returns, this method retrieves the bounding rectangle from the size member of the structure.

CButton:: GetSplitStyleCButton::GetSplitStyle

現在の分割ボタンコントロールを定義する分割ボタンのスタイルを取得します。Retrieves the split button styles that define the current split button control.

UINT GetSplitStyle() const;

戻り値Return Value

分割ボタンのスタイルのビットごとの組み合わせ。A bitwise combination of split button styles. 詳細については、 uSplitStyle BUTTON_SPLITINFO 構造体のメンバーを参照してください。For more information, see the uSplitStyle member of the BUTTON_SPLITINFO structure.

解説Remarks

このメソッドは、ボタンスタイルが BS_SPLITBUTTON または BS_DEFSPLITBUTTON コントロールでのみ使用します。Use this method only with controls whose button style is BS_SPLITBUTTON or BS_DEFSPLITBUTTON.

分割ボタンのスタイルでは、ウィンドウが分割ボタンアイコンを描画する配置、縦横比、およびグラフィカルな形式を指定します。The split button styles specify the alignment, aspect ratio, and graphical format with which Windows draws a split button icon.

このメソッドは、 mask BCSIF_STYLE フラグを使用して BUTTON_SPLITINFO 構造体のメンバーを初期化し、Windows SDK で説明されている BCM_GETSPLITINFO メッセージにその構造体を送信します。This method initializes the mask member of a BUTTON_SPLITINFO structure with the BCSIF_STYLE flag, and then sends that structure in the BCM_GETSPLITINFO message that is described in the Windows SDK. メッセージ関数がを返すと、このメソッドは構造体のメンバーから分割ボタンのスタイルを取得し uSplitStyle ます。When the message function returns, this method retrieves the split button styles from the uSplitStyle member of the structure.

CButton:: GetStateCButton::GetState

ボタンコントロールの状態を取得します。Retrieves the state of a button control.

UINT GetState() const;

戻り値Return Value

ボタンコントロールの現在の状態を示す値の組み合わせを格納するビットフィールド。A bit field that contains the combination of values that indicate the current state of a button control. 次の表に、使用可能な値を示します。The following table lists possible values.

ボタンの状態Button State Value 説明Description
BST_UNCHECKEDBST_UNCHECKED 0x00000x0000 初期状態。The initial state.
BST_CHECKEDBST_CHECKED 0x00010x0001 ボタンコントロールがチェックされます。The button control is checked.
BST_INDETERMINATEBST_INDETERMINATE 0x00020x0002 状態は不確定です (ボタンコントロールに3つの状態がある場合にのみ可能です)。The state is indeterminate (only possible when the button control has three states).
BST_PUSHEDBST_PUSHED 0x00040x0004 ボタンコントロールが押されています。The button control is pressed.
BST_FOCUSBST_FOCUS 0x00080x0008 ボタンコントロールにフォーカスがあります。The button control has the focus.

解説Remarks

BS_3STATE または BS_AUTO3STATE ボタンのスタイルを持つボタンコントロールは、中間状態という名前の3番目の状態を持つチェックボックスを作成します。A button control with the BS_3STATE or BS_AUTO3STATE button style creates a check box that has a third state that is named the indeterminate state. 不確定状態は、チェックボックスがオンでもオフでもないことを示します。The indeterminate state indicates that the check box is neither checked nor unchecked.

Example

CButton myPushButton;

// Create a push button.
myPushButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
                    CRect(10, 10, 100, 30), pParentWnd, 1);

// Invert the highlight state of the button.
myPushButton.SetState(!(myPushButton.GetState() & 0x0004));

CButton:: GetTextMarginCButton::GetTextMargin

オブジェクトのテキストの余白を取得するには、このメソッドを呼び出し CButton ます。Call this method to get the text margin of the CButton object.

BOOL GetTextMargin(RECT* pmargin);

パラメーターParameters

pmarginpmargin
オブジェクトのテキストの余白へのポインター CButtonA pointer to the text margin of the CButton object.

戻り値Return Value

テキストの余白を返します。Returns the text margin.

解説Remarks

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。Nonzero if successful; otherwise 0.

解説Remarks

このメンバー関数は、Windows SDK の [ ボタン ] セクションで説明されているように、BCM_GETTEXTMARGIN メッセージの機能をエミュレートします。This member function emulates the functionality of the BCM_GETTEXTMARGIN message, as described in the Buttons section of the Windows SDK.

CButton:: SetBitmapCButton::SetBitmap

このメンバー関数を呼び出して、新しいビットマップをボタンに関連付けます。Call this member function to associate a new bitmap with the button.

HBITMAP SetBitmap(HBITMAP hBitmap);

パラメーターParameters

hBitmaphBitmap
ビットマップのハンドル。The handle of a bitmap.

戻り値Return Value

以前にボタンに関連付けられていたビットマップのハンドル。The handle of a bitmap previously associated with the button.

解説Remarks

ビットマップは、既定で中心となるボタンの表面に自動的に配置されます。The bitmap will be automatically placed on the face of the button, centered by default. ビットマップがボタンに対して大きすぎる場合は、いずれかの側でクリップされます。If the bitmap is too large for the button, it will be clipped on either side. 次のような他の配置オプションを選択できます。You can choose other alignment options, including the following:

  • BS_TOPBS_TOP

  • BS_LEFTBS_LEFT

  • BS_RIGHTBS_RIGHT

  • BS_CENTERBS_CENTER

  • BS_BOTTOMBS_BOTTOM

  • BS_VCENTERBS_VCENTER

ボタンごとに4つのビットマップを使用する Cbitmapbuttonとは異なり、で SetBitmap は、ボタンごとにビットマップが1つだけ使用されます。Unlike CBitmapButton, which uses four bitmaps per button, SetBitmap uses only one bitmap per the button. このボタンが押されると、ビットマップが下と右にシフトされます。When the button is pressed, the bitmap appears to shift down and to the right.

操作が完了したら、ビットマップを解放する必要があります。You are responsible for releasing the bitmap when you are done with it.

Example

CButton myBitmapButton;

// Create a bitmap button.
myBitmapButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_BITMAP,
                      CRect(10, 10, 60, 50), pParentWnd, 1);

// If no bitmap is defined for the button, define the bitmap to the
// system close bitmap.
if (myBitmapButton.GetBitmap() == NULL)
   myBitmapButton.SetBitmap(::LoadBitmap(NULL, MAKEINTRESOURCE(OBM_CLOSE)));

CButton:: SetButtonStyleCButton::SetButtonStyle

ボタンのスタイルを変更します。Changes the style of a button.

void SetButtonStyle(
    UINT nStyle,
    BOOL bRedraw = TRUE);

パラメーターParameters

nStylenStyle
ボタンの スタイルを指定します。Specifies the button style.

より描画bRedraw
ボタンを再描画するかどうかを指定します。Specifies whether the button is to be redrawn. 0以外の値を指定すると、ボタンが再描画されます。A nonzero value redraws the button. 0の値を指定しても、ボタンは再描画されません。A 0 value does not redraw the button. 既定では、ボタンが再描画されます。The button is redrawn by default.

解説Remarks

ボタンの GetButtonStyle スタイルを取得するには、メンバー関数を使用します。Use the GetButtonStyle member function to retrieve the button style. 完全なボタンスタイルの下位ワードは、ボタン固有のスタイルです。The low-order word of the complete button style is the button-specific style.

Example

CButton myRadioButton;

// Create a radio button.
myRadioButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
                     CRect(10, 10, 100, 30), pParentWnd, 1);

// Change the button style to use one of the "auto" styles; for
// push button, change to def push button.
UINT uStyle = myRadioButton.GetButtonStyle();
if (uStyle == BS_PUSHBUTTON)
   uStyle = BS_DEFPUSHBUTTON;
else if (uStyle == BS_RADIOBUTTON)
   uStyle = BS_AUTORADIOBUTTON;
else if (uStyle == BS_CHECKBOX)
   uStyle = BS_AUTOCHECKBOX;
else if (uStyle == BS_3STATE)
   uStyle = BS_AUTO3STATE;

// Change the button style to the one wanted.
myRadioButton.SetButtonStyle(uStyle);

CButton:: SetCheckCButton::SetCheck

オプションボタンまたはチェックボックスのチェック状態を設定またはリセットします。Sets or resets the check state of a radio button or check box.

void SetCheck(int nCheck);

パラメーターParameters

nnCheck
チェックの状態を指定します。Specifies the check state. このパラメーターには、次のいずれかを指定できます。This parameter can be one of the following:

Value 意味Meaning
BST_UNCHECKEDBST_UNCHECKED ボタンの状態を [オフ] に設定します。Set the button state to unchecked.
BST_CHECKEDBST_CHECKED ボタンの状態を [オン] に設定します。Set the button state to checked.
BST_INDETERMINATEBST_INDETERMINATE ボタンの状態を [不確定] に設定します。Set the button state to indeterminate. この値は、ボタンのスタイルが BS_3STATE または BS_AUTO3STATE の場合にのみ使用できます。This value can be used only if the button has the BS_3STATE or BS_AUTO3STATE style.

解説Remarks

このメンバー関数は、プッシュボタンには影響しません。This member function has no effect on a pushbutton.

Example

CButton myA3Button;

// Create an auto 3-state button.
myA3Button.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTO3STATE,
                  CRect(10, 10, 100, 30), pParentWnd, 1);

// Set the check state to the next state
// (i.e. BST_UNCHECKED changes to BST_CHECKED
// BST_CHECKED changes to BST_INDETERMINATE
// BST_INDETERMINATE changes to BST_UNCHECKED).
myA3Button.SetCheck(((myA3Button.GetCheck() + 1) % 3));

CButton:: SetCursorCButton::SetCursor

このメンバー関数を呼び出して、新しいカーソルをボタンに関連付けます。Call this member function to associate a new cursor with the button.

HCURSOR SetCursor(HCURSOR hCursor);

パラメーターParameters

hCursorhCursor
カーソルのハンドル。The handle of a cursor.

戻り値Return Value

以前にボタンに関連付けられたカーソルのハンドル。The handle of a cursor previously associated with the button.

解説Remarks

既定では、カーソルはボタンの表面に自動的に配置されます。The cursor will be automatically placed on the face of the button, centered by default. カーソルがボタンに対して大きすぎる場合は、いずれかの側でクリップされます。If the cursor is too large for the button, it will be clipped on either side. 次のような他の配置オプションを選択できます。You can choose other alignment options, including the following:

  • BS_TOPBS_TOP

  • BS_LEFTBS_LEFT

  • BS_RIGHTBS_RIGHT

  • BS_CENTERBS_CENTER

  • BS_BOTTOMBS_BOTTOM

  • BS_VCENTERBS_VCENTER

ボタンごとに4つのビットマップを使用する Cbitmapbuttonとは異なり、で SetCursor は、ボタンごとに1つのカーソルのみが使用されます。Unlike CBitmapButton, which uses four bitmaps per button, SetCursor uses only one cursor per the button. このボタンが押されると、カーソルが下と右に移動したように見えます。When the button is pressed, the cursor appears to shift down and to the right.

Example

CButton myIconButton;

// Create an icon button.
myIconButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
                    CRect(10, 10, 60, 50), pParentWnd, 1);

// If no image is defined for the button, define the image to the
// system arrow and question mark cursor.
if (myIconButton.GetCursor() == NULL)
   myIconButton.SetCursor(::LoadCursor(NULL, IDC_HELP));

CButton:: SetDropDownStateCButton::SetDropDownState

現在の分割ボタンコントロールのドロップダウン状態を設定します。Sets the drop-down state of the current split button control.

BOOL SetDropDownState(BOOL fDropDown);

パラメーターParameters

fDropDownfDropDown
からBST_DROPDOWNPUSHED の状態を設定する場合は TRUE。それ以外の場合は FALSE。[in] TRUE to set BST_DROPDOWNPUSHED state; otherwise, FALSE.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

解説Remarks

分割ボタンコントロールには BS_SPLITBUTTON または BS_DEFSPLITBUTTON のスタイルがあり、その右側のボタンとドロップダウン矢印で構成されます。A split button control has a style of BS_SPLITBUTTON or BS_DEFSPLITBUTTON and consists of a button and a drop-down arrow to its right. 詳細については、「 ボタンのスタイル」を参照してください。For more information, see Button Styles. 通常、ドロップダウンの状態は、ユーザーがドロップダウン矢印をクリックしたときに設定されます。Usually, the drop-down state is set when the user clicks the drop-down arrow. コントロールのドロップダウン状態をプログラムで設定するには、このメソッドを使用します。Use this method to programmatically set the drop-down state of the control. ドロップダウン矢印は、状態を示すために影付きで描画されます。The drop-down arrow is drawn shaded to indicate the state.

このメソッドは、Windows SDK で説明されている BCM_SETDROPDOWNSTATE メッセージを送信します。This method sends the BCM_SETDROPDOWNSTATE message, which is described in the Windows SDK.

Example

次のコード例では、分割ボタンコントロールにプログラムでアクセスするために使用される、 m_splitButton変数を定義します。The following code example defines the variable, m_splitButton, that is used to programmatically access the split button control. この変数は、次の例で使用します。This variable is used in the following example.

public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;

Example

次のコード例では、分割ボタンコントロールの状態を設定して、ドロップダウン矢印がプッシュされたことを示しています。The following code example sets the state of the split button control to indicate that the drop-down arrow is pushed.

/* Set the state of the split button control to indicate that 
   the drop-down arrow is pushed. The arrow is drawn shaded to 
   indicate the state.
   */
m_splitButton.SetDropDownState(TRUE);

CButton:: SetElevationRequiredCButton::SetElevationRequired

現在のボタンコントロールの状態をに設定します elevation required 。これは、コントロールが管理者特権のセキュリティアイコンを表示するために必要です。Sets the state of the current button control to elevation required, which is necessary for the control to display an elevated security icon.

BOOL SetElevationRequired(BOOL fElevationRequired);

パラメーターParameters

fElevationRequiredfElevationRequired
から状態を設定する場合 elevation required は TRUE、それ以外の場合は FALSE。[in] TRUE to set elevation required state; otherwise, FALSE.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

解説Remarks

ボタンまたはコマンドリンクコントロールでアクションを実行するために管理者特権のセキュリティアクセス許可が必要な場合は、コントロールを状態に設定し elevation required ます。If a button or command link control requires elevated security permission to perform an action, set the control to elevation required state. その後、Windows によって、コントロールのユーザーアカウント制御 (UAC) シールドアイコンが表示されます。Subsequently, Windows displays the User Account Control (UAC) shield icon on the control. 詳細については、「ユーザー アカウント制御」を参照してください。For more information, see User Account Control.

このメソッドは、Windows SDK で説明されている BCM_SETSHIELD メッセージを送信します。This method sends the BCM_SETSHIELD message, which is described in the Windows SDK.

CButton:: SetIconCButton::SetIcon

このメンバー関数を呼び出して、新しいアイコンをボタンに関連付けます。Call this member function to associate a new icon with the button.

HICON SetIcon(HICON hIcon);

パラメーターParameters

hIconhIcon
アイコンのハンドル。The handle of an icon.

戻り値Return Value

以前にボタンに関連付けられていたアイコンのハンドル。The handle of an icon previously associated with the button.

解説Remarks

既定では、アイコンがボタンの表面に自動的に配置されます。The icon will be automatically placed on the face of the button, centered by default. アイコンがボタンに対して大きすぎる場合は、いずれかの側でクリップされます。If the icon is too large for the button, it will be clipped on either side. 次のような他の配置オプションを選択できます。You can choose other alignment options, including the following:

  • BS_TOPBS_TOP

  • BS_LEFTBS_LEFT

  • BS_RIGHTBS_RIGHT

  • BS_CENTERBS_CENTER

  • BS_BOTTOMBS_BOTTOM

  • BS_VCENTERBS_VCENTER

ボタンごとに4つのビットマップを使用する Cbitmapbuttonとは異なり、では、 SetIcon ボタンごとに1つのアイコンのみが使用されます。Unlike CBitmapButton, which uses four bitmaps per button, SetIcon uses only one icon per the button. このボタンが押されると、アイコンが右にシフトされます。When the button is pressed, the icon appears to shift down and to the right.

Example

CButton myIconButton2;

// Create an icon button.
myIconButton2.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
                     CRect(10, 10, 60, 50), pParentWnd, 1);

// If no icon is defined for the button, define the icon to the
// system error icon.
if (myIconButton2.GetIcon() == NULL)
   myIconButton2.SetIcon(::LoadIcon(NULL, IDI_ERROR));

CButton:: SetImageListCButton::SetImageList

オブジェクトのイメージリストを設定するには、このメソッドを呼び出し CButton ます。Call this method to set the image list of the CButton object.

BOOL SetImageList(PBUTTON_IMAGELIST pbuttonImagelist);

パラメーターParameters

pbuttonImagelistpbuttonImagelist
新しいイメージリストへのポインター。A pointer to the new image list.

戻り値Return Value

成功した場合は TRUE、失敗した場合は FALSE を返します。Returns TRUE on success, FALSE on failure.

解説Remarks

このメンバー関数は、Windows SDK の [ ボタン ] セクションで説明されているように、BCM_SETIMAGELIST メッセージの機能をエミュレートします。This member function emulates the functionality of the BCM_SETIMAGELIST message, as described in the Buttons section of the Windows SDK.

CButton:: SetNoteCButton::SetNote

現在のコマンドリンクコントロールのノートテキストを設定します。Sets the note text for the current command link control.

BOOL SetNote(LPCTSTR lpszNote);

パラメーターParameters

lpszNotelpszNote
からコマンドリンクコントロールのノートテキストとして設定されている Unicode 文字列へのポインター。[in] Pointer to a Unicode string that is set as the note text for the command link control.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

解説Remarks

このメソッドは、ボタンスタイルが BS_COMMANDLINK または BS_DEFCOMMANDLINK コントロールでのみ使用します。Use this method only with controls whose button style is BS_COMMANDLINK or BS_DEFCOMMANDLINK.

このメソッドは、Windows SDK で説明されている BCM_SETNOTE メッセージを送信します。This method sends the BCM_SETNOTE message, which is described in the Windows SDK.

Example

次のコード例では、コマンドリンクコントロールにプログラムでアクセスするために使用される、 m_cmdLink変数を定義します。The following code example defines the variable, m_cmdLink, that is used to programmatically access the command link control. この変数は、次の例で使用します。This variable is used in the following example.

public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;

Example

次のコード例では、コマンドリンクコントロールのノートテキストを設定します。The following code example sets the note text for the command link control.

// Set the command link text.
m_cmdLink.SetNote(_T("This is the command link note."));

CButton:: SetSplitGlyphCButton::SetSplitGlyph

指定したグリフを現在の分割ボタンコントロールに関連付けます。Associates a specified glyph with the current split button control.

BOOL SetSplitGlyph(TCHAR chGlyph);

パラメーターParameters

chGlyphchGlyph
から分割ボタンのドロップダウン矢印として使用するグリフを指定する文字。[in] A character that specifies the glyph to use as the split button drop-down arrow.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

解説Remarks

このメソッドは、ボタンスタイル BS_SPLITBUTTON または BS_DEFSPLITBUTTON を持つコントロールに対してのみ使用します。Use this method only with controls that have the button style BS_SPLITBUTTON or BS_DEFSPLITBUTTON.

グリフは、特定のフォントにおける文字の物理的な表現です。A glyph is the physical representation of a character in a particular font. Chglyphパラメーターはグリフとして使用されませんが、システム定義の一連のグリフからグリフを選択するために使用されます。The chGlyph parameter is not used as the glyph, but is instead used to select a glyph from a set of system-defined glyphs. 既定のドロップダウン矢印グリフは文字 "6" で指定され、Unicode 文字の黒い下向き三角形 (U + 25BC) に似ています。The default drop-down arrow glyph is specified by a character '6', and resembles the Unicode character BLACK DOWN-POINTING TRIANGLE (U+25BC).

このメソッドは、 mask BCSIF_GLYPH フラグと Chglyph パラメーターを持つメンバーを使用してBUTTON_SPLITINFO構造体のメンバーを初期化 himlGlyph し、Windows SDK で説明されているBCM_GETSPLITINFOメッセージにその構造体を送信します。 chGlyphThis method initializes the mask member of a BUTTON_SPLITINFO structure with the BCSIF_GLYPH flag and the himlGlyph member with the chGlyph parameter, and then sends that structure in the BCM_GETSPLITINFO message that is described in the Windows SDK.

CButton:: SetSplitImageListCButton::SetSplitImageList

イメージリストを現在の分割ボタンコントロールに関連付けます。Associates an image list with the current split button control.

BOOL SetSplitImageList(CImageList* pSplitImageList);

パラメーターParameters

pSplitImageListpSplitImageList
から現在の分割ボタンコントロールに割り当てる CImageList オブジェクトへのポインター。[in] Pointer to a CImageList object to assign to the current split button control.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

解説Remarks

このメソッドは、ボタンスタイルが BS_SPLITBUTTON または BS_DEFSPLITBUTTON コントロールでのみ使用します。Use this method only with controls whose button style is BS_SPLITBUTTON or BS_DEFSPLITBUTTON.

このメソッドは、 mask BCSIF_IMAGE フラグと pSplitImageList パラメーターを使用してメンバーを指定してBUTTON_SPLITINFO構造体のメンバーを初期化 himlGlyph し、Windows SDK で説明されているBCM_GETSPLITINFOメッセージにその構造体を送信します。 pSplitImageListThis method initializes the mask member of a BUTTON_SPLITINFO structure with the BCSIF_IMAGE flag and the himlGlyph member with the pSplitImageList parameter, and then sends that structure in the BCM_GETSPLITINFO message that is described in the Windows SDK.

CButton:: SetSplitInfoCButton::SetSplitInfo

ウィンドウが現在の分割ボタンコントロールを描画する方法を決定するパラメーターを指定します。Specifies parameters that determine how Windows draws the current split button control.

BOOL SetSplitInfo(PBUTTON_SPLITINFO pInfo);

パラメーターParameters

pInfopInfo
から現在の分割ボタンコントロールを定義する BUTTON_SPLITINFO 構造体へのポインター。[in] Pointer to a BUTTON_SPLITINFO structure that defines the current split button control.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

解説Remarks

このメソッドは、ボタンスタイルが BS_SPLITBUTTON または BS_DEFSPLITBUTTON コントロールでのみ使用します。Use this method only with controls whose button style is BS_SPLITBUTTON or BS_DEFSPLITBUTTON.

このメソッドは、Windows SDK で説明されている BCM_SETSPLITINFO メッセージを送信します。This method sends the BCM_SETSPLITINFO message, which is described in the Windows SDK.

Example

次のコード例では、 m_splitButton 分割ボタンコントロールにプログラムでアクセスするために使用される変数を定義します。The following code example defines the variable, m_splitButton, that is used to programmatically access the split button control.

public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;

Example

次のコード例では、分割ボタンのドロップダウン矢印に使用されるグリフを変更します。The following code example changes the glyph that is used for the split button drop-down arrow. この例では、上向き三角形のグリフを既定の下向き三角形のグリフに置き換えます。The example substitutes an up-pointing triangle glyph for the default down-pointing triangle glyph. 表示されるグリフは、構造体のメンバーで指定した文字によって異なり himlGlyph BUTTON_SPLITINFO ます。The glyph that is displayed depends on the character that you specify in the himlGlyph member of the BUTTON_SPLITINFO structure. 下向き三角形のグリフは文字 ' 6 ' によって指定され、上向き三角形のグリフは文字 ' 5 ' によって指定されます。The down-pointing triangle glyph is specified by a character '6' and the up-pointing triangle glyph is specified by a character '5'. 比較については、「 CButton:: SetSplitGlyph」の便利なメソッドを参照してください。For comparison, see the convenience method, CButton::SetSplitGlyph.

/* 
   The drop-down arrow glyph is a function of the specified character. 
   The default "down" drop-down arrow glyph is specified by a 
   character '6'. Set the "up" arrow glyph, which is a character '5'.
   See the convenience method, SetSplitGlyph(), for comparison.
   */
BUTTON_SPLITINFO bsInfo = {0};
bsInfo.mask = BCSIF_GLYPH;
TCHAR chGlyph = _T('5'); // "up" arrow glyph
bsInfo.himlGlyph = (HIMAGELIST)chGlyph;
bRC = m_splitButton.SetSplitInfo(&bsInfo);

CButton:: SetSplitSizeCButton::SetSplitSize

現在の分割ボタンコントロールのドロップダウンコンポーネントの外接する四角形を設定します。Sets the bounding rectangle of the drop-down component of the current split button control.

BOOL SetSplitSize(LPSIZE pSize);

パラメーターParameters

pSizepSize
から外接する四角形を記述する サイズ 構造体へのポインター。[in] Pointer to a SIZE structure that describes a bounding rectangle.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

解説Remarks

このメソッドは、ボタンスタイルが BS_SPLITBUTTON または BS_DEFSPLITBUTTON コントロールでのみ使用します。Use this method only with controls whose button style is BS_SPLITBUTTON or BS_DEFSPLITBUTTON.

分割ボタンコントロールが展開されると、リストコントロールやページャーコントロールなどのドロップダウンコンポーネントが表示されます。When the split button control is expanded, it can display a drop-down component such as a list control or pager control. このメソッドは、ドロップダウンコンポーネントを含む外接する四角形のサイズを指定します。This method specifies the size of the bounding rectangle that contains the drop-down component.

このメソッドは、 mask BCSIF_SIZE フラグと pSize パラメーターを使用してメンバーを指定してBUTTON_SPLITINFO構造体のメンバーを初期化 size し、Windows SDK で説明されているBCM_GETSPLITINFOメッセージにその構造体を送信します。 pSizeThis method initializes the mask member of a BUTTON_SPLITINFO structure with the BCSIF_SIZE flag and the size member with the pSize parameter, and then sends that structure in the BCM_GETSPLITINFO message that is described in the Windows SDK.

Example

次のコード例では、 m_splitButton 分割ボタンコントロールにプログラムでアクセスするために使用される変数を定義します。The following code example defines the variable, m_splitButton, that is used to programmatically access the split button control. この変数は、次の例で使用します。This variable is used in the following example.

public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;

Example

次のコード例では、分割ボタンのドロップダウン矢印のサイズを2倍にしています。The following code example doubles the size of the split button drop-down arrow.

// Double the size of the split button drop-down arrow.
SIZE sz;
bRC = m_splitButton.GetSplitSize(&sz); // current size
sz.cx = sz.cx * 2;
sz.cy = sz.cy * 2;
bRC = m_splitButton.SetSplitSize(&sz);

CButton:: SetSplitStyleCButton::SetSplitStyle

現在の分割ボタンコントロールのスタイルを設定します。Sets the style of the current split button control.

BOOL SetSplitStyle(UINT uSplitStyle);

パラメーターParameters

uSplitStyleuSplitStyle
から分割ボタンのスタイルのビットごとの組み合わせ。[in] A bitwise combination of split button styles. 詳細については、 uSplitStyle BUTTON_SPLITINFO 構造体のメンバーを参照してください。For more information, see the uSplitStyle member of the BUTTON_SPLITINFO structure.

戻り値Return Value

このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。TRUE if this method is successful; otherwise, FALSE.

解説Remarks

このメソッドは、ボタンスタイルが BS_SPLITBUTTON または BS_DEFSPLITBUTTON コントロールでのみ使用します。Use this method only with controls whose button style is BS_SPLITBUTTON or BS_DEFSPLITBUTTON.

分割ボタンのスタイルでは、ウィンドウが分割ボタンアイコンを描画する配置、縦横比、およびグラフィカルな形式を指定します。The split button styles specify the alignment, aspect ratio, and graphical format with which Windows draws a split button icon. 詳細については、 uSplitStyle BUTTON_SPLITINFO 構造体のメンバーを参照してください。For more information, see the uSplitStyle member of the BUTTON_SPLITINFO structure.

このメソッドは、 mask BCSIF_STYLE フラグと Usplitstyle パラメーターを持つメンバーを使用してBUTTON_SPLITINFO構造体のメンバーを初期化 uSplitStyle し、Windows SDK で説明されているBCM_GETSPLITINFOメッセージにその構造体を送信します。 uSplitStyleThis method initializes the mask member of a BUTTON_SPLITINFO structure with the BCSIF_STYLE flag and the uSplitStyle member with the uSplitStyle parameter, and then sends that structure in the BCM_GETSPLITINFO message that is described in the Windows SDK.

Example

次のコード例では、 m_splitButton 分割ボタンコントロールにプログラムでアクセスするために使用される変数を定義します。The following code example defines the variable, m_splitButton, that is used to programmatically access the split button control.

public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;

Example

次のコード例では、分割ボタンのドロップダウン矢印のスタイルを設定します。The following code example sets the style of the split button drop-down arrow. BCSS_ALIGNLEFT スタイルでは、ボタンの左側に矢印が表示され、ボタンのサイズを変更すると、BCSS_STRETCH スタイルによってドロップダウンの矢印の比率が保持されます。The BCSS_ALIGNLEFT style displays the arrow on the left side of the button, and the BCSS_STRETCH style retains the drop-down arrow's proportions when you resize the button.

/* 
    Set the style of the split button drop-down arrow: Display the 
    arrow on the left and retain the arrow's proportions when resizing 
    the control.
    */
bRC = m_splitButton.SetSplitStyle(BCSS_ALIGNLEFT | BCSS_STRETCH);

CButton:: SetStateCButton::SetState

ボタンコントロールを強調表示するかどうかを設定します。Sets whether a button control is highlighted or not.

void SetState(BOOL bHighlight);

パラメーターParameters

bHighlight 表示bHighlight
ボタンを強調表示するかどうかを指定します。Specifies whether the button is to be highlighted. 0以外の値を指定すると、ボタンが強調表示されます。0の値を指定すると、強調表示が解除されます。A nonzero value highlights the button; a 0 value removes any highlighting.

解説Remarks

強調表示は、ボタンコントロールの外部に影響します。Highlighting affects the exterior of a button control. オプションボタンまたはチェックボックスのチェックの状態には影響しません。It has no effect on the check state of a radio button or check box.

ボタンコントロールは、ユーザーがマウスの左ボタンをクリックして保持すると、自動的に強調表示されます。A button control is automatically highlighted when the user clicks and holds the left mouse button. ユーザーがマウスボタンを放すと、強調表示が削除されます。The highlighting is removed when the user releases the mouse button.

Example

CButton myPushButton;

// Create a push button.
myPushButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
                    CRect(10, 10, 100, 30), pParentWnd, 1);

// Invert the highlight state of the button.
myPushButton.SetState(!(myPushButton.GetState() & 0x0004));

CButton:: SetTextMarginCButton::SetTextMargin

オブジェクトのテキストの余白を設定するには、このメソッドを呼び出し CButton ます。Call this method to set the text margin of the CButton object.

BOOL SetTextMargin(RECT* pmargin);

パラメーターParameters

pmarginpmargin
新しいテキスト余白へのポインター。A pointer to the new text margin.

戻り値Return Value

成功した場合は TRUE、失敗した場合は FALSE を返します。Returns TRUE on success, FALSE on failure.

解説Remarks

このメンバー関数は、Windows SDK の [ ボタン ] セクションで説明されているように、BCM_SETTEXTMARGIN メッセージの機能をエミュレートします。This member function emulates the functionality of the BCM_SETTEXTMARGIN message, as described in the Buttons section of the Windows SDK.

関連項目See also

CWnd クラスCWnd Class
階層図Hierarchy Chart
CWnd クラスCWnd Class
CComboBox クラスCComboBox Class
CEdit クラスCEdit Class
CListBox クラスCListBox Class
CScrollBar クラスCScrollBar Class
CStatic クラスCStatic Class
CBitmapButton クラスCBitmapButton Class
CDialog クラスCDialog Class