Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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