다음을 통해 공유


CMFCColorPickerCtrl 클래스

클래스는 CMFCColorPickerCtrl 색을 선택하는 데 사용되는 컨트롤에 대한 기능을 제공합니다.

구문

class CMFCColorPickerCtrl : public CButton

멤버

공용 생성자

속성 설명
CMFCColorPickerCtrl::CMFCColorPickerCtrl CMFCColorPickerCtrl 개체를 생성합니다.

공용 메서드

이름 설명
CMFCColorPickerCtrl::GetColor 사용자가 선택하는 색을 검색합니다.
CMFCColorPickerCtrl::GetHLS 사용자가 선택하는 색의 색조, 광도 및 채도 값을 검색합니다.
CMFCColorPickerCtrl::GetHue 사용자가 선택하는 색의 색조 구성 요소를 검색합니다.
CMFCColorPickerCtrl::GetLuminance 사용자가 선택하는 색의 광도 구성 요소를 검색합니다.
CMFCColorPickerCtrl::GetSaturation 사용자가 선택하는 색의 채도 구성 요소를 검색합니다.
CMFCColorPickerCtrl::SelectCellHexagon 현재 색을 지정된 RGB 색 구성 요소 또는 지정된 셀 육각형으로 정의된 색으로 설정합니다.
CMFCColorPickerCtrl::SetColor 현재 색을 지정된 RGB 색 값으로 설정합니다.
CMFCColorPickerCtrl::SetHLS 현재 색을 지정된 HLS 색 값으로 설정합니다.
CMFCColorPickerCtrl::SetHue 현재 선택한 색의 색상 구성 요소를 변경합니다.
CMFCColorPickerCtrl::SetLuminance 현재 선택한 색의 광도 구성 요소를 변경합니다.
CMFCColorPickerCtrl::SetLuminanceBarWidth 색 선택기 컨트롤에서 광도 막대의 너비를 설정합니다.
CMFCColorPickerCtrl::SetOriginalColor 처음 선택한 색을 설정합니다.
CMFCColorPickerCtrl::SetPalette 현재 색상표를 설정합니다.
CMFCColorPickerCtrl::SetSaturation 현재 선택한 색의 채도 구성 요소를 변경합니다.
CMFCColorPickerCtrl::SetType 표시할 색 선택 컨트롤의 형식을 설정합니다.

보호된 메서드

속성 설명
CMFCColorPickerCtrl::D rawCursor 선택한 색을 가리키는 커서가 표시되기 전에 프레임워크에서 호출됩니다.

설명

표준 색은 육각형 색상표에서 선택되며, 사용자 지정 색은 빨강/녹색/파랑 표기법 또는 색조/satuaration/광도 표기법을 사용하여 색을 지정하는 광원 표시줄에서 선택됩니다.

다음 그림에서는 여러 CMFCColorPickerCtrl 개체를 보여 줍니다.

CMFCColorPickerCtrl dialog box.

CMFCColorPickerCtrl 쌍의 스타일을 지원합니다. HEX 및 HEX_GREYSCALE 스타일은 표준 색 선택에 적합합니다. PICKER 및 LUMINANCE 스타일은 사용자 지정 색 선택에 적합합니다.

다음 단계를 수행하여 컨트롤을 CMFCColorPickerCtrl 대화 상자에 통합합니다.

  1. ClassWizard사용하는 경우 클래스가 클래스에서 상속되기 때문에 대화 상자 템플릿에 CMFCColorPickerCtrl 새 단추 컨트롤을 CButton 삽입합니다.

  2. 새 단추 컨트롤과 연결된 멤버 변수를 대화 상자 클래스에 삽입합니다. 그런 다음 변수 형식을 .로 CButton 변경합니다 CMFCColorPickerCtrl.

  3. WM_INITDIALOG 대화 상자 클래스에 대한 메시지 처리기를 삽입합니다. 처리기에서 컨트롤의 형식, 색상표 및 처음 선택한 색을 CMFCColorPickerCtrl 설정합니다.

예시

다음 예제에서는 클래스의 다양한 메서드를 사용하여 개체를 CMFCColorPickerCtrl 구성하는 방법을 보여 줍니다 CMFCColorPickerCtrl . 이 예제에서는 선택기 컨트롤의 형식을 설정하는 방법과 색, 색조, 광도 및 채도를 설정하는 방법을 보여 줍니다. 이 예제는 새 컨트롤 샘플일부입니다.

CMFCColorPickerCtrl m_wndLum;
// CPalette m_palSys
// set the type of the color picker control
m_wndLum.SetType(CMFCColorPickerCtrl::LUMINANCE);
m_wndLum.SetPalette(&m_palSys);
// set the color, hue, luminance and saturation of the color picker control
m_wndLum.SetColor(RGB(0, 255, 0));
m_wndLum.SetHue(0.5);
m_wndLum.SetLuminance(2.5);
m_wndLum.SetLuminanceBarWidth(10);
m_wndLum.SetSaturation(0.5);

상속 계층 구조

CObject

CCmdTarget

CWnd

CButton

CMFCColorPickerCtrl

요구 사항

헤더: afxcolorpickerctrl.h

CMFCColorPickerCtrl::CMFCColorPickerCtrl

CMFCColorPickerCtrl 개체를 생성합니다.

CMFCColorPickerCtrl();

Return Value

설명

CMFCColorPickerCtrl::D rawCursor

선택한 색을 가리키는 커서가 표시되기 전에 프레임워크에서 호출됩니다.

virtual void DrawCursor(
    CDC* pDC,
    const CRect& rect);

매개 변수

pDC
[in] 디바이스 컨텍스트에 대한 포인터입니다.

rect
[in] 선택한 색 주위에 사각형 영역을 지정합니다.

설명

선택한 색을 가리키는 커서의 모양을 변경해야 하는 경우 이 메서드를 재정의합니다.

CMFCColorPickerCtrl::GetColor

사용자가 선택하는 색을 검색합니다.

COLORREF GetColor() const;

Return Value

선택한 색의 RGB 값입니다.

설명

CMFCColorPickerCtrl::GetHLS

사용자가 선택하는 색의 색조, 광도 및 채도 값을 검색합니다.

void GetHLS(
    double* hue,
    double* luminance,
    double* saturation);

매개 변수

색조
[out] 색조 정보를 수신하는 double 형식의 변수에 대한 포인터입니다.

광도
[out] 광도 정보를 수신하는 double 형식의 변수에 대한 포인터입니다.

채도
[out] 채도 정보를 수신하는 double 형식의 변수에 대한 포인터입니다.

설명

CMFCColorPickerCtrl::GetHue

사용자가 선택하는 색의 색조 구성 요소를 검색합니다.

double GetHue() const;

Return Value

선택한 색의 색조 구성 요소입니다.

설명

CMFCColorPickerCtrl::GetLuminance

사용자가 선택하는 색의 광도 구성 요소를 검색합니다.

double GetLuminance() const;

Return Value

선택한 색의 광도 구성 요소입니다.

설명

CMFCColorPickerCtrl::GetSaturation

사용자가 선택하는 색의 채도 값을 검색합니다.

double GetSaturation() const;

Return Value

선택한 색의 채도 구성 요소입니다.

설명

CMFCColorPickerCtrl::SelectCellHexagon

현재 색을 지정된 RGB 색 구성 요소 또는 지정된 셀 육각형으로 정의된 색으로 설정합니다.

void SelectCellHexagon(
    BYTE R,
    BYTE G,
    BYTE B);

BOOL SelectCellHexagon(
    int x,
    int y);

매개 변수

R
[in] 빨간색 구성 요소입니다.

G
[in] 녹색 구성 요소입니다.

B
[in] 파란색 구성 요소입니다.

x
[in] 셀 육각형을 가리키는 커서의 x 좌표입니다.

y
[in] 셀 육각형을 가리키는 커서의 y 좌표입니다.

Return Value

이 메서드의 두 번째 오버로드는 항상 FALSE를 반환합니다.

설명

이 메서드의 첫 번째 오버로드는 현재 색을 색 선택 컨트롤의 지정된 빨강, 녹색 및 파랑 색 구성 요소에 해당하는 색으로 설정합니다.

이 메서드의 두 번째 오버로드는 현재 색을 지정된 커서 위치가 가리키는 셀 육각형의 색으로 설정합니다.

CMFCColorPickerCtrl::SetColor

현재 색을 지정된 RGB 색 값으로 설정합니다.

void SetColor(COLORREF Color);

매개 변수


[in] RGB 색 값입니다.

설명

CMFCColorPickerCtrl::SetHLS

현재 색을 지정된 HLS 색 값으로 설정합니다.

void SetHLS(
    double hue,
    double luminance,
    double saturation,
    BOOL bInvalidate=TRUE);

매개 변수

색조
[in] 색조 값입니다.

광도
[in] 광도 값입니다.

채도
[in] 채도 값입니다.

bInvalidate
[in] TRUE이면 창이 새 색으로 즉시 업데이트됩니다. 그렇지 않으면 FALSE입니다. 기본값은 TRUE입니다.

설명

CMFCColorPickerCtrl::SetHue

현재 선택한 색의 색을 변경합니다.

void SetHue(double Hue);

매개 변수

색조
[in] 색조 값입니다.

설명

CMFCColorPickerCtrl::SetLuminance

현재 선택한 색의 광도를 변경합니다.

void SetLuminance(double Luminance);

매개 변수

광도
[in] 광도 값입니다.

설명

CMFCColorPickerCtrl::SetLuminanceBarWidth

색 선택기 컨트롤에서 광도 막대의 너비를 설정합니다.

void SetLuminanceBarWidth(int w);

매개 변수

w
[in] 픽셀 단위로 측정된 광도 막대의 너비입니다.

설명

색 선택기 컨트롤의 사용자 지정 탭에 있는 광도 막대의 크기를 조정하려면 이 메서드를 사용합니다. w 매개 변수는 광도 막대의 새 너비를 지정합니다. 너비 값은 클라이언트 영역 너비의 3/4를 초과하는 경우 무시됩니다.

CMFCColorPickerCtrl::SetOriginalColor

처음 선택한 색을 설정합니다.

void SetOriginalColor(COLORREF ref);

매개 변수

ref
[in] RGB 색 값입니다.

설명

색 선택 컨트롤이 초기화될 때 이 메서드를 호출합니다.

CMFCColorPickerCtrl::SetPalette

현재 색상표를 설정합니다.

void SetPalette(CPalette* pPalette);

매개 변수

pPalette
[in] 색상표에 대한 포인터입니다.

설명

색상표는 색 선택기 컨트롤에 표시되는 색 배열을 정의합니다.

CMFCColorPickerCtrl::SetSaturation

현재 선택한 색의 채도를 변경합니다.

void SetSaturation(double Saturation);

매개 변수

채도
[in] 채도 값입니다.

설명

CMFCColorPickerCtrl::SetType

표시할 색 선택 컨트롤의 형식을 설정합니다.

void SetType(COLORTYPE colorType);

매개 변수

colorType
[in] 색 선택 컨트롤 형식입니다.

형식은 열거형으로 CMFCColorPickerCtrl::COLORTYPE 정의됩니다. 가능한 형식은 LUMINANCE, PICKER, HEX 및 HEX_GREYSCALE. 기본 형식은 PICKER입니다.

설명

색 선택 컨트롤 형식을 지정하려면 Windows 컨트롤을 만들기 전에 이 메서드를 호출합니다.

참고 항목

계층 구조 차트
클래스
CMFCColorDialog 클래스