CMFCColorButton 클래스
CMFCColorButton
및 cmfccolorbar 클래스 클래스는 색 선택 컨트롤을 구현하는데 함께 사용됩니다.
구문
class CMFCColorButton : public CMFCButton
멤버
공용 생성자
속성 | 설명 |
---|---|
CMFCColorButton::CMFCColorButton | 새 CMFCColorButton 개체를 생성합니다. |
공용 메서드
이름 | 설명 |
---|---|
CMFCColorButton::EnableAutomaticButton | 일반 색 단추 위에 있는 "자동" 단추를 사용하거나 사용하지 않도록 설정합니다. (표준 시스템 자동 단추에 레이블이 지정됨 자동). |
CMFCColorButton::EnableOtherButton | 일반 색 단추 아래에 있는 "기타" 단추를 사용하거나 사용하지 않도록 설정합니다. (표준 시스템 "기타" 단추에 레이블이 지정됨 다른 색입니다.) |
CMFCColorButton::GetAutomaticColor | 현재 자동 색을 검색합니다. |
CMFCColorButton::GetColor | 단추의 색을 검색합니다. |
CMFCColorButton::SetColor | 단추의 색을 설정합니다. |
CMFCColorButton::SetColorName | 색 이름을 설정합니다. |
CMFCColorButton::SetColumnsNumber | 색 선택 대화 상자의 열 수를 설정합니다. |
CMFCColorButton::SetDocumentColors | 색 선택 대화 상자에 표시되는 문서별 색 목록을 지정합니다. |
CMFCColorButton::SetPalette | 표준 표시 색의 색상표를 지정합니다. |
CMFCColorButton::SizeToContent | 텍스트 및 이미지 크기에 따라 단추 컨트롤의 크기를 변경합니다. |
보호된 메서드
속성 | 설명 |
---|---|
CMFCColorButton::IsDrawXPTheme | 현재 색 단추가 Windows XP의 비주얼 스타일에 표시되는지 여부를 나타냅니다. |
CMFCColorButton::OnDraw | 단추 이미지를 표시하기 위해 프레임워크에서 호출됩니다. |
CMFCColorButton::OnDrawBorder | 단추의 테두리를 표시하기 위해 프레임워크에서 호출됩니다. |
CMFCColorButton::OnDrawFocusRect | 단추에 포커스가 있을 때 포커스 사각형을 표시하기 위해 프레임워크에서 호출됩니다. |
CMFCColorButton::OnShowColorPopup | 색 선택 대화 상자가 표시될 때 프레임워크에서 호출됩니다. |
CMFCColorButton::RebuildPalette | 보호된 데이터 멤버를 m_pPalette 지정된 색상표 또는 기본 시스템 팔레트로 초기화합니다. |
CMFCColorButton::UpdateColor | 사용자가 색 선택 대화 상자의 색상표에서 색을 선택할 때 프레임워크에서 호출됩니다. |
데이터 멤버
속성 | 설명 |
---|---|
m_bAltColorDlg |
부울입니다. TRUE이면 다른 단추를 클릭하거나 FALSE이면 시스템 색 대화 상자가 CMFCColorDialog 색 대화 상자를 표시합니다. 기본값은 TRUE입니다. 자세한 내용은 CMFCColorButton::EnableOtherButton을 참조하세요. |
m_bAutoSetFocus |
부울입니다. TRUE이면 메뉴가 표시될 때 또는 FALSE인 경우 프레임워크가 색 메뉴에 포커스를 설정해도 포커스가 변경되지 않습니다. 기본값은 TRUE입니다. |
CMFCColorButton::m_bEnabledInCustomizeMode | 색 단추에 사용자 지정 모드를 사용할 수 있는지 여부를 나타냅니다. |
m_Color |
COLORREF 값입니다. 현재 선택한 색을 포함합니다. |
m_ColorAutomatic |
COLORREF 값입니다. 현재 선택한 기본 색을 포함합니다. |
m_Colors |
COLORREF 값의 CArray입니다. 현재 사용 가능한 색을 포함합니다. |
m_lstDocColors |
COLORREF 값의 CList입니다. 현재 문서 색을 포함합니다. |
m_nColumns |
정수입니다. 색 선택 메뉴의 색 눈금에 표시할 열 수를 포함합니다. |
m_pPalette |
CPalette에 대한 포인터입니다. 현재 색 선택 메뉴에서 사용할 수 있는 색을 포함합니다. |
m_pPopup |
CMFCColorPopupMenu 클래스 개체에 대한 포인터입니다. 색 단추를 클릭할 때 표시되는 색 선택 메뉴입니다. |
m_strAutoColorText |
문자열입니다. 색 선택 메뉴의 "자동" 단추 레이블입니다. |
m_strDocColorsText |
문자열입니다. 문서 색을 표시하는 색 선택 메뉴의 단추 레이블입니다. |
m_strOtherText |
문자열입니다. 색 선택 메뉴에 있는 "기타" 단추의 레이블입니다. |
설명
기본적으로 클래스는 CMFCColorButton
색 선택 대화 상자를 여는 푸시 단추로 작동합니다. 색 선택 대화 상자에는 작은 색 단추 배열과 사용자 지정 색 선택을 표시하는 "기타" 단추가 포함되어 있습니다. (표준 시스템 "기타" 단추에 레이블이 지정됨 다른 색입니다.) 사용자가 새 색을 선택하면 개체가 CMFCColorButton
변경 사항을 반영하고 선택한 색을 표시합니다.
코드에서 직접 또는 ClassWizard 도구 및 대화 상자 템플릿을 사용하여 색 단추 컨트롤을 만듭니다. 색 단추 컨트롤을 직접 만드는 경우 애플리케이션에 변수를 추가한 CMFCColorButton
다음 개체의 생성자 및 Create
메서드를 CMFCColorButton
호출합니다. ClassWizard를 사용하는 경우 애플리케이션에 변수를 추가 CButton
한 다음 변수의 형식을 .로 CButton
CMFCColorButton
변경합니다.
색 선택 대화 상자(CMFCColorBar 클래스)는 프레임워크가 이벤트 처리기를 호출 OnLButtonDown
할 때 CMFCColorButton::OnShowColorPopup 메서드에 의해 표시됩니다. CMFCColorButton::OnShowColorPopup 메서드를 재정의하여 사용자 지정 색 선택을 지원할 수 있습니다.
개체는 CMFCColorButton
WM_COMMAND 전송하여 색이 변경되고 있음을 부모에 알깁니다. | BN_CLICKED 알림입니다. 부모는 CMFCColorButton::GetColor 메서드를 사용하여 현재 색을 검색합니다.
예시
다음 예제에서는 클래스의 다양한 메서드 CMFCColorButton
를 사용하여 색 단추를 구성하는 방법을 보여 줍니다. 메서드는 색 단추의 색과 열 수를 설정하고 자동 및 다른 단추를 사용하도록 설정합니다. 이 예제는 상태 표시줄 데모 샘플의 일부입니다.
CMFCColorButton m_wndTextColor;
m_wndTextColor.EnableAutomaticButton(_T("Default"), afxGlobalData.clrBtnText);
m_wndTextColor.EnableOtherButton(_T("Other..."));
m_wndTextColor.SetColor((COLORREF)-1);
m_wndTextColor.SetColorName((COLORREF)-1, "Default Color");
m_wndTextColor.SetColumnsNumber(3);
요구 사항
헤더: afxcolorbutton.h
CMFCColorButton::CMFCColorButton
새 CMFCColorButton
개체를 생성합니다.
CMFCColorButton();
CMFCColorButton::EnableAutomaticButton
색 선택 컨트롤의 "자동" 단추를 사용하거나 사용하지 않도록 설정하고 자동(기본값) 색을 설정합니다.
void EnableAutomaticButton(
LPCTSTR lpszLabel,
COLORREF colorAutomatic,
BOOL bEnable=TRUE);
매개 변수
lpszLabel
[in] 자동 단추의 텍스트를 지정합니다.
colorAutomatic
[in] 자동 단추의 기본 색을 지정하는 RGB 값입니다.
bEnable
[in] 자동 단추를 사용할지 여부를 지정합니다.
설명
CMFCColorButton::EnableOtherButton
일반 색 단추 아래에 표시되는 "기타" 단추를 사용하거나 사용하지 않도록 설정합니다.
void EnableOtherButton(
LPCTSTR lpszLabel,
BOOL bAltColorDlg=TRUE,
BOOL bEnable=TRUE);
매개 변수
lpszLabel
[in] 단추의 텍스트를 지정합니다.
bAltColorDlg
[in] 사용자가 단추를 클릭할 때 CMFCColorDialog 대화 상자 또는 시스템 색 대화 상자가 열릴지 여부를 지정합니다.
bEnable
[in] "기타" 단추를 사용할지 여부를 지정합니다.
설명
"기타" 단추를 클릭하여 색 대화 상자를 표시합니다. bAltColorDlg 매개 변수가 TRUE이면 CMFCColorDialog 클래스가 표시되고, 그렇지 않으면 시스템 색 대화 상자가 표시됩니다.
CMFCColorButton::GetAutomaticColor
현재 자동(기본값) 색을 검색합니다.
COLORREF GetAutomaticColor() const;
Return Value
현재 자동 색을 나타내는 RGB 값입니다.
설명
현재 자동 색은 CMFCColorButton::EnableAutomaticButton 메서드에 의해 설정됩니다.
CMFCColorButton::GetColor
현재 선택한 색을 검색합니다.
COLORREF GetColor() const;
Return Value
RGB 값입니다.
설명
CMFCColorButton::IsDrawXPTheme
현재 색 단추가 Windows XP의 비주얼 스타일에 표시되는지 여부를 나타냅니다.
BOOL IsDrawXPTheme() const;
Return Value
TRUE이면 비주얼 스타일이 지원되고 현재 색 단추가 Windows XP의 비주얼 스타일에 표시됩니다. 그렇지 않으면 FALSE입니다.
CMFCColorButton::m_bEnabledInCustomizeMode
색 단추를 사용자 지정 모드로 설정합니다.
BOOL m_bEnabledInCustomizeMode;
설명
사용자 지정 대화 상자의 페이지에 색 단추를 추가해야 하거나 사용자 지정 중에 다른 색을 선택할 수 있도록 허용해야 하는 경우 멤버를 TRUE로 설정하여 단추를 사용하도록 설정합니다 m_bEnabledInCustomizeMode
. 기본적으로 이 멤버는 FALSE로 설정됩니다.
CMFCColorButton::OnDraw
단추 이미지를 렌더링하기 위해 프레임워크에서 호출됩니다.
virtual void OnDraw(
CDC* pDC,
const CRect& rect,
UINT uiState);
매개 변수
pDC
[in] 단추의 이미지를 렌더링하는 데 사용되는 디바이스 컨텍스트를 가리킵니다.
rect
[in] 단추를 경계로 하는 사각형입니다.
uiState
[in] 단추의 시각적 상태를 지정합니다.
설명
렌더링 프로세스를 사용자 지정하려면 이 메서드를 재정의합니다.
CMFCColorButton::OnDrawBorder
단추의 테두리를 표시하기 위해 프레임워크에서 호출됩니다.
virtual void OnDrawBorder(
CDC* pDC,
CRect& rectClient,
UINT uiState);
매개 변수
pDC
[in] 테두리를 그리는 데 사용되는 디바이스 컨텍스트를 가리킵니다.
rectClient
[in] 그릴 단추의 경계를 정의하는 pDC 매개 변수에 의해 지정된 디바이스 컨텍스트의 사각형입니다.
uiState
[in] 단추의 시각적 상태를 지정합니다.
설명
색 단추의 테두리 모양을 사용자 지정하려면 이 함수를 재정의합니다.
CMFCColorButton::OnDrawFocusRect
단추에 포커스가 있을 때 포커스 사각형을 표시하기 위해 프레임워크에서 호출됩니다.
virtual void OnDrawFocusRect(
CDC* pDC,
const CRect& rectClient);
매개 변수
pDC
[in] 포커스 사각형을 그리는 데 사용되는 디바이스 컨텍스트를 가리킵니다.
rectClient
[in] 단추의 경계를 정의하는 pDC 매개 변수로 지정된 디바이스 컨텍스트의 사각형입니다.
설명
포커스 사각형의 모양을 사용자 지정하려면 이 메서드를 재정의합니다.
CMFCColorButton::OnShowColorPopup
팝업 색 막대가 표시되기 전에 호출됩니다.
virtual void OnShowColorPopup();
설명
CMFCColorButton::RebuildPalette
보호된 데이터 멤버를 m_pPalette
지정된 색상표 또는 기본 시스템 팔레트로 초기화합니다.
void RebuildPalette(CPalette* pPal);
매개 변수
pPal
[in] 논리 팔레트 또는 NULL에 대한 포인터입니다. NULL인 경우 기본 시스템 팔레트가 사용됩니다.
CMFCColorButton::SetColor
단추의 색을 지정합니다.
void SetColor(COLORREF color);
매개 변수
color
[in] RGB 값입니다.
설명
CMFCColorButton::SetColorName
색의 이름을 지정합니다.
static void SetColorName(
COLORREF color,
const CString& strName);
매개 변수
color
[in] 색의 RGB 값입니다.
strName
[in] 색의 이름입니다.
설명
색 이름 목록은 애플리케이션별로 전역입니다. 따라서 이 메서드는 해당 매개 변수를 CMFCColorBar::SetColorName으로 전송합니다.
CMFCColorButton::SetColumnsNumber
사용자의 색 선택 프로세스 중에 사용자에게 표시되는 색 표에 표시되는 열 수를 정의합니다.
void SetColumnsNumber(int nColumns);
매개 변수
nColumns
[in] 열 수를 지정합니다.
설명
사용자는 미리 정의된 색 테이블을 표시하는 팝업 색 표시줄에서 색을 선택할 수 있습니다. 이 메서드를 사용하여 테이블의 열 수를 정의합니다.
CMFCColorButton::SetDocumentColors
색 집합과 집합의 이름을 지정합니다. CMFCColorBar 클래스 개체를 사용하여 색 집합이 표시됩니다.
void SetDocumentColors(
LPCTSTR lpszLabel,
CList<COLORREF,COLORREF>& lstColors);
매개 변수
lpszLabel
[in] 문서 색 집합으로 표시할 레이블을 지정합니다.
lstColors
[in] RGB 값 목록에 대한 참조입니다.
설명
개체는 CMFCColorButton
CMFCColorBar 클래스 개체로 전송되는 RGB 값 목록을 유지 관리합니다. 색 막대가 표시되면 이러한 색은 lpszLabel 매개 변수에 의해 레이블이 지정된 특수 섹션에 표시됩니다.
CMFCColorButton::SetPalette
팝업 색 표시줄에 표시할 표준 색을 지정합니다.
void SetPalette(CPalette* pPalette);
매개 변수
pPalette
[in] 색상표에 대한 포인터입니다.
설명
CMFCColorButton::SizeToContent
단추 컨트롤의 크기를 텍스트와 이미지에 맞게 조정합니다.
virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);
매개 변수
bCalcOnly
[in] 0이 아닌 경우 단추 컨트롤의 새 크기가 계산되지만 실제 크기는 변경되지 않습니다.
Return Value
CSize
새 단추 컨트롤 크기를 지정하는 개체입니다.
설명
CMFCColorButton::UpdateColor
사용자가 색 단추를 클릭할 때 표시되는 색 표시줄에서 색을 선택할 때 프레임워크에서 호출됩니다.
virtual void UpdateColor(COLORREF color);
매개 변수
color
[in] 사용자가 선택한 색입니다.
설명
함수는 UpdateColor
현재 선택한 단추의 색을 변경하고 BN_CLICKED 표준 알림과 함께 WM_COMMAND 메시지를 보내 부모에 알립니다. CMFCColorButton::GetColor 메서드를 사용하여 선택한 색을 검색합니다.
참고 항목
계층 구조 차트
클래스
CMFCButton 클래스
CMFCColorBar 클래스
CMFCColorButton::OnShowColorPopup
COLORREF
CPalette 클래스
CArray 클래스
CList 클래스
CString