Megosztás a következőn keresztül:


CMFCColorButton osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

A CMFCColorButtonCMFCColorBar osztályosztályok együtt használhatók a színválasztó vezérlő implementálásához.

Szemantika

class CMFCColorButton : public CMFCButton

Tagok

Nyilvános konstruktorok

Név Description
CMFCColorButton::CMFCColorButton Új CMFCColorButton objektumot hoz létre.

Nyilvános metódusok

Név Description
CMFCColorButton::EnableAutomaticButton Engedélyezi és letiltja az "automatikus" gombot, amely a normál színgombok fölött van elhelyezve. (A normál rendszer automatikus gombja Automatikus címkével van ellátva.)
CMFCColorButton::EnableOtherButton Engedélyezi és letiltja az "egyéb" gombot, amely a normál színgombok alatt helyezkedik el. (A standard rendszer "egyéb" gombja További színek címkével van ellátva.)
CMFCColorButton::GetAutomaticColor Lekéri az aktuális automatikus színt.
CMFCColorButton::GetColor Lekéri egy gomb színét.
CMFCColorButton::SetColor Beállítja a gomb színét.
CMFCColorButton::SetColorName Színnevet állít be.
CMFCColorButton::SetColumnsNumber Beállítja a színválasztó párbeszédpanelen lévő oszlopok számát.
CMFCColorButton::SetDocumentColors A színválasztó párbeszédpanelen megjelenő dokumentumspecifikus színek listáját adja meg.
CMFCColorButton::SetPalette A szabványos megjelenítési színek palettáját adja meg.
CMFCColorButton::SizeToContent A gombvezérlő méretét a szövegtől és a kép méretétől függően módosítja.

Védett metódusok

Név Description
CMFCColorButton::IsDrawXPTheme Azt jelzi, hogy az aktuális szín gomb megjelenik-e a Windows XP vizuális stílusában.
CMFCColorButton::OnDraw A keretrendszer meghívta, hogy megjelenítse a gomb képét.
CMFCColorButton::OnDrawBorder A keretrendszer meghívta a gomb szegélyének megjelenítéséhez.
CMFCColorButton::OnDrawFocusRect A keretrendszer meghívta, hogy megjelenítsen egy fókusz téglalapot, ha a gomb fókuszt kap.
CMFCColorButton::OnShowColorPopup A keretrendszer meghívta, amikor a színválasztó párbeszédpanel hamarosan megjelenik.
CMFCColorButton::RebuildPalette Inicializálja a m_pPalette védett adattagot a megadott palettára vagy az alapértelmezett rendszerkatalógusra.
CMFCColorButton::UpdateColor A keretrendszer meghívja, amikor a felhasználó kiválaszt egy színt a színválasztó párbeszédpanel palettájából.

Adattagok

Név Description
m_bAltColorDlg Logikai. Ha IGAZ, a keretrendszer megjeleníti a CMFCColorDialog szín párbeszédpanelt, amikor a másik gombra kattint, vagy HAMIS, a rendszerszín párbeszédpanel. Az alapértelmezett érték TRUE. További információ: CMFCColorButton::EnableOtherButton.
m_bAutoSetFocus Logikai. Ha IGAZ, a keretrendszer a színmenüre állítja a fókuszt a menü megjelenítésekor, vagy ha HAMIS, akkor nem módosítja a fókuszt. Az alapértelmezett érték TRUE.
CMFCColorButton::m_bEnabledInCustomizeMode Azt jelzi, hogy engedélyezve van-e a testreszabási mód a színgombhoz.
m_Color COLORREF érték. Az aktuálisan kijelölt színt tartalmazza.
m_ColorAutomatic COLORREF érték. Az aktuálisan kijelölt alapértelmezett színt tartalmazza.
m_Colors A COLORREF-értékekCArray-értéke. A jelenleg elérhető színeket tartalmazza.
m_lstDocColors A COLORREF-értékekCList-listája. Az aktuális dokumentumszíneket tartalmazza.
m_nColumns Egész szám. A színkijelölési menü színrácsában megjelenítendő oszlopok számát tartalmazza.
m_pPalette Mutató egy CPalette-hez. Az aktuális színkijelölési menüben elérhető színeket tartalmazza.
m_pPopup Mutató egy CMFCColorPopupMenu osztályobjektumra . A színkijelölési menü, amely a szín gombra kattintáskor jelenik meg.
m_strAutoColorText Egy karakterlánc. Az "automatikus" gomb felirata egy színkijelölési menüben.
m_strDocColorsText Egy karakterlánc. A gomb felirata egy színkijelölési menüben, amely megjeleníti a dokumentum színeit.
m_strOtherText Egy karakterlánc. A "másik" gomb felirata egy színkijelölési menüben.

Megjegyzések

Alapértelmezés szerint az CMFCColorButton osztály leküldéses gombként viselkedik, amely megnyitja a színválasztó párbeszédpanelt. A színválasztó párbeszédpanel egy kis színgombokat tartalmazó tömböt és egy "egyéb" gombot tartalmaz, amely egyéni színválasztót jelenít meg. (A standard rendszer "egyéb" gombja További színek címkével van ellátva.) Amikor egy felhasználó kiválaszt egy új színt, az CMFCColorButton objektum tükrözi a változást, és megjeleníti a kijelölt színt.

Hozzon létre egy színgomb vezérlőelemet közvetlenül a kódban, vagy a ClassWizard eszközzel és egy párbeszédpanelsablonnal. Ha közvetlenül színgomb-vezérlőt hoz létre, adjon hozzá egy változót CMFCColorButton az alkalmazáshoz, majd hívja meg az objektum konstruktorát és Create metódusait CMFCColorButton . Ha a ClassWizardot használja, adjon hozzá egy változót CButton az alkalmazáshoz, majd módosítsa a változó CButton típusát a következőre CMFCColorButton.

A színválasztó párbeszédpanelt ( CMFCColorBar Osztály) a CMFCColorButton::OnShowColorPopup metódus jeleníti meg, amikor a keretrendszer meghívja az OnLButtonDown eseménykezelőt. A CMFCColorButton::OnShowColorPopup metódus felülírható az egyéni színkijelölés támogatásához.

Az CMFCColorButton objektum egy WM_COMMAND küldésével értesíti a szülőjét arról, hogy egy szín változik. BN_CLICKED értesítés. A szülő a CMFCColorButton::GetColor metódust használja az aktuális szín lekéréséhez.

Example

Az alábbi példa bemutatja, hogyan konfigurálhat színgombokat az CMFCColorButton osztály különböző metódusaival. A metódusok beállítják a szín gomb színét és az oszlopok számát, és engedélyezik az automatikus és a többi gombot. Ez a példa az állapotsor-bemutató minta része.

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);

Requirements

Fejléc: afxcolorbutton.h

CMFCColorButton::CMFCColorButton

Új CMFCColorButton objektumot hoz létre.

CMFCColorButton();

CMFCColorButton::EnableAutomaticButton

Engedélyezze vagy tiltsa le a színválasztó vezérlőelem "automatikus" gombját, és állítsa be az automatikus (alapértelmezett) színt.

void EnableAutomaticButton(
    LPCTSTR lpszLabel,
    COLORREF colorAutomatic,
    BOOL bEnable=TRUE);

Paraméterek

lpszLabel
[in] Az automatikus gomb szövegét adja meg.

colorAutomatic
[in] Az automatikus gomb alapértelmezett színét meghatározó RGB-érték.

bEnable
[in] Megadja, hogy az automatikus gomb engedélyezve van-e vagy le van-e tiltva.

Megjegyzések

CMFCColorButton::EnableOtherButton

Engedélyezze vagy tiltsa le az "egyéb" gombot, amely a normál színgombok alatt jelenik meg.

void EnableOtherButton(
    LPCTSTR lpszLabel,
    BOOL bAltColorDlg=TRUE,
    BOOL bEnable=TRUE);

Paraméterek

lpszLabel
[in] Megadja a gomb szövegét.

bAltColorDlg
[in] Megadja, hogy a CMFCColorDialog párbeszédpanel vagy a rendszerszín párbeszédpanel megnyílt-e, amikor a felhasználó a gombra kattint.

bEnable
[in] Megadja, hogy az "egyéb" gomb engedélyezve van-e vagy le van-e tiltva.

Megjegyzések

A szín párbeszédpanel megjelenítéséhez kattintson az "egyéb" gombra. Ha a bAltColorDlg paraméter IGAZ, megjelenik a CMFCColorDialog osztály ; ellenkező esetben megjelenik a rendszerszín párbeszédpanel.

CMFCColorButton::GetAutomaticColor

Lekéri az aktuális automatikus (alapértelmezett) színt.

COLORREF GetAutomaticColor() const;

Visszaadott érték

Az aktuális automatikus színt képviselő RGB-érték.

Megjegyzések

Az aktuális automatikus színt a CMFCColorButton::EnableAutomaticButton metódus állítja be.

CMFCColorButton::GetColor

Lekéri az aktuálisan kijelölt színt.

COLORREF GetColor() const;

Visszaadott érték

RGB-érték.

Megjegyzések

CMFCColorButton::IsDrawXPTheme

Azt jelzi, hogy az aktuális szín gomb megjelenik-e a Windows XP vizuális stílusában.

BOOL IsDrawXPTheme() const;

Visszaadott érték

IGAZ, ha a vizuális stílusok támogatottak, és az aktuális szín gomb megjelenik a Windows XP vizualizációs stílusában; egyéb esetben HAMIS.

CMFCColorButton::m_bEnabledInCustomizeMode

Színgomb beállítása testreszabási módra.

BOOL m_bEnabledInCustomizeMode;

Megjegyzések

Ha színgombot kell hozzáadnia egy testreszabási párbeszédpanel oldalához (vagy engedélyeznie kell a felhasználónak, hogy a testreszabás során másik színt válasszon), engedélyezze a gombot úgy, hogy a m_bEnabledInCustomizeMode tag értéke TRUE. Alapértelmezés szerint ez a tag FALSE (HAMIS) értékre van állítva.

CMFCColorButton::OnDraw

A keretrendszer meghívta, hogy megjelenítse a gomb képét.

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    UINT uiState);

Paraméterek

Pdc
[in] A gomb képének megjelenítéséhez használt eszközkörnyezetre mutat.

téglalap
[in] Egy téglalap, amely megköti a gombot.

uiState
[in] A gomb vizualizációs állapotát adja meg.

Megjegyzések

Felülbírálja ezt a módszert a renderelési folyamat testreszabásához.

CMFCColorButton::OnDrawBorder

A keretrendszer meghívta a gomb szegélyének megjelenítéséhez.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect& rectClient,
    UINT uiState);

Paraméterek

Pdc
[in] A szegély rajzolásához használt eszközkörnyezetre mutat.

rectClient
[in] A megrajzolandó gomb határait meghatározó pDC paraméter által megadott téglalap az eszközkörnyezetben.

uiState
[in] A gomb vizualizációs állapotát adja meg.

Megjegyzések

A függvény felülbírálása a szín gomb szegélyének megjelenésének testreszabásához.

CMFCColorButton::OnDrawFocusRect

A keretrendszer meghívta, hogy megjelenítsen egy fókusz téglalapot, amikor a gomb fókuszban van.

virtual void OnDrawFocusRect(
    CDC* pDC,
    const CRect& rectClient);

Paraméterek

Pdc
[in] A fókusz téglalap rajzolásához használt eszközkörnyezetre mutat.

rectClient
[in] A gomb határait meghatározó pDC paraméter által megadott téglalap az eszközkörnyezetben.

Megjegyzések

A módszer felülbírálása a fókusz téglalap megjelenésének testreszabásához.

CMFCColorButton::OnShowColorPopup

Az előugró színsáv megjelenése előtt hívható meg.

virtual void OnShowColorPopup();

Megjegyzések

CMFCColorButton::RebuildPalette

Inicializálja a m_pPalette védett adattagot a megadott palettára vagy az alapértelmezett rendszerkatalógusra.

void RebuildPalette(CPalette* pPal);

Paraméterek

pPal
[in] Egy logikai palettára vagy NULL-ra mutató mutató. Null érték esetén a rendszer az alapértelmezett rendszerkatalógust használja.

CMFCColorButton::SetColor

A gomb színét adja meg.

void SetColor(COLORREF color);

Paraméterek

color
[in] RGB-érték.

Megjegyzések

CMFCColorButton::SetColorName

Egy szín nevét adja meg.

static void SetColorName(
    COLORREF color,
    const CString& strName);

Paraméterek

color
[in] A szín RGB-értéke.

strName
[in] A szín neve.

Megjegyzések

A színnevek listája alkalmazásonként globális. Ennek következtében ez a metódus átadja a paramétereit a CMFCColorBar::SetColorName fájlnak.

CMFCColorButton::SetColumnsNumber

Meghatározza, hogy hány oszlop jelenjen meg a színtáblában, amelyet a felhasználó a felhasználó színkijelölési folyamata során jelenít meg.

void SetColumnsNumber(int nColumns);

Paraméterek

nColumns
[in] Az oszlopok számát adja meg.

Megjegyzések

A felhasználó kiválaszthat egy színt egy előugró színsávból, amely előre definiált színeket tartalmazó táblázatot jelenít meg. Ezzel a módszerrel határozhatja meg a tábla oszlopainak számát.

CMFCColorButton::SetDocumentColors

Megadja a színkészletet és a halmaz nevét. A színkészlet egy CMFCColorBar Osztály objektummal jelenik meg.

void SetDocumentColors(
    LPCTSTR lpszLabel,
    CList<COLORREF,COLORREF>& lstColors);

Paraméterek

lpszLabel
[in] Megadja a dokumentumszínekkel megjelenítendő címkét.

lstColors
[in] Hivatkozás az RGB-értékek listájára.

Megjegyzések

Az CMFCColorButton objektumok megőrzik a CMFCColorBar osztályobjektumba átvitt RGB-értékek listáját. Amikor megjelenik a színsáv, ezek a színek egy speciális szakaszban jelennek meg, amelynek címkéjét az lpszLabel paraméter adja meg.

CMFCColorButton::SetPalette

Megadja az előugró színsávon megjelenítendő szokásos színeket.

void SetPalette(CPalette* pPalette);

Paraméterek

pPalette
[in] Egy színpalettára mutató mutató.

Megjegyzések

CMFCColorButton::SizeToContent

A gombvezérlő átméretezése a szöveghez és a képhez való igazításhoz.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Paraméterek

bCalcOnly
[in] Ha nem, a rendszer kiszámítja a gombvezérlő új méretét, de a tényleges méret nem változik.

Visszaadott érték

Egy CSize objektum, amely új gombvezérlőméretet ad meg.

Megjegyzések

CMFCColorButton::UpdateColor

A keretrendszer meghívta, amikor a felhasználó kiválaszt egy színt a színsávról, amely akkor jelenik meg, amikor a felhasználó a szín gombra kattint.

virtual void UpdateColor(COLORREF color);

Paraméterek

color
[in] A felhasználó által kijelölt szín.

Megjegyzések

A UpdateColor függvény módosítja az aktuálisan kijelölt gomb színét, és egy WM_COMMAND üzenet BN_CLICKED normál értesítéssel értesíti a szülőjét. Használja a CMFCColorButton::GetColor metódust a kiválasztott szín lekéréséhez.

Lásd még

hierarchiadiagram
osztályok
CMFCButton osztály
CMFCColorBar osztály
CMFCColorButton::OnShowColorPopup
COLORREF
CPalette osztály
CArray osztály
CList osztály
CString