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


CMFCStatusBar 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.

Az CMFCStatusBar osztály az osztályhoz hasonló állapotsort CStatusBar implementál. Az CMFCStatusBar osztály azonban olyan funkciókkal rendelkezik, amelyeket az CStatusBar osztály nem kínál, például képek, animációk és folyamatjelző sávok megjelenítésére, valamint az egér dupla kattintásokra való reagálásának képessége.

További részletekért tekintse meg a Visual Studio-telepítés VC\atlmfc\src\mfc mappájában található forráskódot.

Szemantika

class CMFCStatusBar : public CPane

Tagok

Nyilvános metódusok

Név Description
CMFCStatusBar::CalcFixedLayout (Felülbírálja a CBasePane::CalcFixedLayout.)
CMFCStatusBar::CommandToIndex
CMFCStatusBar::Létrehozás Létrehoz egy vezérlősávot, és csatolja a CPane objektumhoz. (Felülbírálja a CPane-t::Létrehozás.)
CMFCStatusBar::CreateEx Létrehoz egy vezérlősávot, és csatolja a CPane objektumhoz. (Felülbírálja a CPane::CreateEx.)
CMFCStatusBar::D oesAllowDynInsertBefore Meghatározza, hogy egy másik ablaktábla dinamikusan beszúrható-e a panel és a szülőkeret közé. (Felülbírálja a CBasePane::D oesAllowDynInsertBefore.)
CMFCStatusBar::EnablePaneDoubleClick Engedélyezi vagy letiltja az egér dupla kattintással történő kezelését az állapotsoron.
CMFCStatusBar::EnablePaneProgressBar Egy folyamatjelző sáv megjelenítése a megadott panelen.
CMFCStatusBar::GetCount Az állapotsoron lévő panelek számát adja vissza.
CMFCStatusBar::GetDrawExtendedArea
CMFCStatusBar::GetExtendedArea
CMFCStatusBar::GetItemID
CMFCStatusBar::GetItemRect
CMFCStatusBar::GetPaneInfo
CMFCStatusBar::GetPaneProgress
CMFCStatusBar::GetPaneStyle A panel stílusát adja vissza. (Felülbírálja a CBasePane::GetPaneStyle.)
CMFCStatusBar::GetPaneText
CMFCStatusBar::GetPaneWidth Az állapotsor megadott panelének szélességét adja vissza képpontban.
CMFCStatusBar::GetTipText Az állapotsor megadott paneljének eszköztippszövegét adja vissza.
CMFCStatusBar::InvalidatePaneContent Érvényteleníti a megadott panelt, és újrarajzozza annak tartalmát.
CMFCStatusBar::P reCreateWindow A keretrendszer meghívta az objektumhoz CWnd csatolt Windows-ablak létrehozása előtt. (Felülbírálja a CWnd::P reCreateWindow.)
CMFCStatusBar::SetDrawExtendedArea
CMFCStatusBar::SetIndicators
CMFCStatusBar::SetPaneAnimation Animáció hozzárendelése a megadott panelhez.
CMFCStatusBar::SetPaneBackgroundColor Beállítja az állapotsor megadott paneljének háttérszínét.
CMFCStatusBar::SetPaneIcon Beállítja az állapotsor megadott paneljének jelzőikonját.
CMFCStatusBar::SetPaneInfo
CMFCStatusBar::SetPaneProgress Beállítja az állapotsor megadott ablaktáblájának állapotsorának aktuális állapotát.
CMFCStatusBar::SetPaneStyle Beállítja a panel stílusát. (Felülbírálja a CBasePane::SetPaneStyle.)
CMFCStatusBar::SetPaneText
CMFCStatusBar::SetPaneTextColor Az állapotsor megadott paneljének szövegszínét állítja be.
CMFCStatusBar::SetPaneWidth Az állapotsor megadott paneljének szélességét képpontban állítja be.
CMFCStatusBar::SetTipText Beállítja az eszközleírás szövegét az állapotsor megadott ablaktáblájához.

Védett metódusok

Név Description
CMFCStatusBar::OnDrawPane A keretrendszer meghívja, amikor újrarajzozza az állapotsor panelét.

Megjegyzések

Az alábbi ábra az állapotsor ábráját mutatja be az állapotsor-bemutató mintaalkalmazásból .

Példa a CMFCStatusBarra.

Examples

Az alábbi példa bemutatja azokat a helyi változókat, amelyeket az alkalmazás az osztály különböző metódusainak CMFCStatusBar meghívására használ. Ezeket a változókat a StatusBarDemoView.h deklarálja. A fő keret a MainFrm.h-ban van deklarálva, a dokumentum a StatusBarDemoDoc.h fájlban deklarálva, a nézet pedig a StatusBarDemoView.h fájlban van deklarálva. Ez a kódrészlet az Állapotsor-bemutató minta része.

int m_nProgressCurr;
BOOL m_bInProgress;

CImageList m_imlStatusAnimation;
BOOL m_bInAnimation;

CBitmap m_bmpIcon1;
CBitmap m_bmpIcon2;

Az alábbi példa bemutatja, hogyan kérhet le objektumra mutató hivatkozást CMFCStatusBar a GetStatusBar MainFrm.h metódus bevezetésével, majd a metódus meghívásával a GetStatusBar StatusBarDemoView.h metódusból. Ez a kódrészlet az Állapotsor-bemutató minta része.

// in MainFrm.h
public:
CMFCStatusBar &GetStatusBar()
{
   return m_wndStatusBar;
}
// in StatusBarDemoView.h
CMFCStatusBar &GetStatusBar() const
{
   return ((CMainFrame *)AfxGetMainWnd())->GetStatusBar();
}

Az alábbi példa bemutatja, hogyan hívhat meg különböző metódusokat az osztályban a CMFCStatusBar StatusBarDemoView.cpp. Az állandók a MainFrm.h-ban vannak deklarálva. A példa bemutatja, hogyan állíthatja be az ikont, hogyan állíthatja be az állapotsor panel elemleírásának szövegét, jeleníthet meg egy folyamatjelzőt a megadott ablaktáblán, hogyan rendelhet animációt a megadott ablaktáblához, hogyan állíthatja be a szöveget és az állapotsor panel szélességét, és hogyan állíthatja be az állapotsor panel állapotsorának aktuális állapotjelzőjét. Ez a kódrészlet az Állapotsor-bemutató minta része.

// in MainFrm.h
const int nStatusIcon = 0;
const int nStatusInfo = 1;
const int nStatusProgress = 2;
const int nStatusLabel = 3;
const int nStatusAnimation = 4;
// in StatusBarDemoView.cpp
GetStatusBar().SetPaneIcon(nStatusIcon, m_bmpIcon1);
GetStatusBar().SetTipText(nStatusIcon, _T("This is a tooltip"));
GetStatusBar().EnablePaneProgressBar(nStatusProgress, PROGRESS_MAX);
GetStatusBar().SetPaneAnimation(nStatusAnimation, NULL);
GetStatusBar().SetPaneAnimation(nStatusAnimation, m_imlStatusAnimation);
GetStatusBar().SetPaneText(nStatusAnimation, _T(""));
GetStatusBar().SetPaneWidth(nStatusAnimation, 16);
GetStatusBar().SetPaneProgress(nStatusProgress, m_nProgressCurr);

Öröklési hierarchia

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCStatusBar

Requirements

Fejléc: afxstatusbar.h

CMFCStatusBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Paraméterek

[in] bStretch
[in] bHorz

Visszaadott érték

Megjegyzések

CMFCStatusBar::CommandToIndex

int CommandToIndex(UINT nIDFind) const;

Paraméterek

[in] nIDFind

Visszaadott érték

Megjegyzések

CMFCStatusBar::Létrehozás

BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
    UINT nID = AFX_IDW_STATUS_BAR);

Paraméterek

[in] pParentWnd
[in] dwStyle
[in] Nid

Visszaadott érték

Megjegyzések

CMFCStatusBar::CreateEx

BOOL CreateEx(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle = 0,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
    UINT nID = AFX_IDW_STATUS_BAR);

Paraméterek

[in] pParentWnd
[in] dwCtrlStyle
[in] dwStyle
[in] Nid

Visszaadott érték

Megjegyzések

CMFCStatusBar::D oesAllowDynInsertBefore

virtual BOOL DoesAllowDynInsertBefore() const;

Visszaadott érték

Megjegyzések

CMFCStatusBar::EnablePaneDoubleClick

Engedélyezi vagy letiltja az egér dupla kattintással történő kezelését az állapotsoron.

void EnablePaneDoubleClick(BOOL bEnable=TRUE);

Paraméterek

bEnable
[in] Ha IGAZ, engedélyezze az egér dupla kattintással történő feldolgozását. Ellenkező esetben tiltsa le az egér dupla kattintással történő feldolgozását.

Megjegyzések

Ha az állapotsoron engedélyezve van a dupla kattintások feldolgozása, a Windows minden alkalommal elküldi az WM_COMMAND értesítést egy erőforrás-azonosítóval együtt az állapotsor tulajdonosának, amikor a felhasználó duplán kattint az állapotsor paneljére.

CMFCStatusBar::EnablePaneProgressBar

Egy folyamatjelző sáv megjelenítése a megadott panelen.

void EnablePaneProgressBar(
    int nIndex,
    long nTotal=100,
    BOOL bDisplayText=FALSE,
    COLORREF clrBar=-1,
    COLORREF clrBarDest=-1,
    COLORREF clrProgressText=-1);

Paraméterek

nIndex
[in] Annak a panelnek az indexét adja meg, amelynek a folyamatjelző sávját engedélyezni szeretné.

nTotal
[in] A folyamatjelző sáv maximális értékét adja meg.

bDisplayText
[in] Megadja, hogy a folyamatjelző sávon megjelenjen-e az aktuális állapotérték.

clrBar
[in] A folyamatjelző sáv háttérszínét adja meg.

clrBarDest
[in] A folyamatjelző sáv hátterének másodlagos színét adja meg. Színátmenetbe kevert szín kitöltéséhez használjon más értéket, mint a clrBar .

clrProgressText
[in] A folyamatjelző sáv szövegének színét adja meg.

Megjegyzések

Ha le szeretné tiltani a folyamatjelző hívását EnablePaneProgressBar , és az nTotal értéke -1. Alapértelmezés szerint az nTotal értéke 100. Ezért nincs szükség további számításokra az előrehaladás százalékos értékként való megjelenítéséhez.

A clrBar és a clrBarDest különböző értékeit kell megadnia, hogy a folyamatjelző háttérszíne színátmenetbe kevert színt jelenítsen meg. .

Az aktuális állapot beállításához hívja meg a CMFCStatusBar::SetPaneProgress metódust .

CMFCStatusBar::GetCount

Lekéri az állapotsor ablaktábláinak számát.

int GetCount() const;

Visszaadott érték

Az állapotsor paneljeinek száma.

CMFCStatusBar::GetDrawExtendedArea

BOOL GetDrawExtendedArea() const;

Visszaadott érték

Megjegyzések

CMFCStatusBar::GetExtendedArea

virtual BOOL GetExtendedArea(CRect& rect) const;

Paraméterek

[in] rect

Visszaadott érték

Megjegyzések

CMFCStatusBar::GetItemID

UINT GetItemID(int nIndex) const;

Paraméterek

[in] nIndex

Visszaadott érték

Megjegyzések

CMFCStatusBar::GetItemRect

void GetItemRect(
    int nIndex,
    LPRECT lpRect) const;

Paraméterek

[in] nIndex
[in] lpRect

Megjegyzések

CMFCStatusBar::GetPaneInfo

void GetPaneInfo(
    int nIndex,
    UINT& nID,
    UINT& nStyle,
    int& cxWidth) const;

Paraméterek

[in] nIndex
[in] Nid
[in] nStyle
[in] cxWidth

Megjegyzések

CMFCStatusBar::GetPaneProgress

long GetPaneProgress(int nIndex) const;

Paraméterek

[in] nIndex

Visszaadott érték

Megjegyzések

CMFCStatusBar::GetPaneStyle

UINT GetPaneStyle(int nIndex) const;

Paraméterek

[in] nIndex

Visszaadott érték

Megjegyzések

CMFCStatusBar::GetPaneText

void GetPaneText(
    int nIndex,
    CString& s) const;

CString GetPaneText(int nIndex) const;

Paraméterek

[in] nIndex
[in] S

Visszaadott érték

Megjegyzések

CMFCStatusBar::GetPaneWidth

Lekéri az állapotsor paneljének szélességét.

int GetPaneWidth(int nIndex) const;

Paraméterek

nIndex
[in] Az állapotsor panel indexét adja meg.

Visszaadott érték

Az nIndex által megadott állapotsáv panel szélessége; ellenkező esetben nulla, ha egy állapotsor panel nem létezik.

CMFCStatusBar::GetTipText

Az állapotsor paneljének elemleírás-szövegének lekérése.

CString GetTipText(int nIndex) const;

Paraméterek

nIndex
[in] Annak a panelnek az indexét adja meg, amelyhez le szeretné kérni az eszközleírás szövegét.

Visszaadott érték

Az nIndex által megadott állapotsáv panel elemleírásának szövege. Ellenkező esetben az üres sztring, ha az állapotsor panelje nem létezik a megadott nIndexhez , vagy ha az elemleírás szövege üres.

CMFCStatusBar::InvalidatePaneContent

Érvényteleníti az állapotsor panelt, és újrarajzolva annak tartalmát.

void InvalidatePaneContent(int nIndex);

Paraméterek

nIndex
[in] Annak a panelnek az indexét adja meg, amelynek a tartalmát érvényteleníteni és újra kell újból létrehozni.

Megjegyzések

Ha az állapotsor érvénytelenítve van, az újrarajzolásra van megjelölve. A Windows újrarajzolva, amikor a UpdateWindow metódus WM_PAINT üzenetet küld a OnPaint metódusnak.

CMFCStatusBar::OnDrawPane

Az állapotsor paneljének újrarajzolva.

virtual void OnDrawPane(
    CDC* pDC,
    CMFCStatusBarPaneInfo* pPane);

Paraméterek

Pdc
[in] Egy rajzeszköz-környezetre mutató mutató.

pPane
[in] Egy olyan szerkezetre CMFCStatusBarPaneInfo mutató mutató, amely tartalmazza az újrarajzolt ablaktáblával kapcsolatos információkat.

Megjegyzések

Alapértelmezés szerint OnDrawPane az eszközkörnyezet pDC-jét használva újrarajzozza a panelt a panel stílusa és tartalma szerint.

Felülbírálja ezt a metódust egy CMFCStatusBar-származtatott osztályban a panel megjelenésének testreszabásához.

CMFCStatusBar::P reCreateWindow

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

Paraméterek

[in] Cs

Visszaadott érték

Megjegyzések

CMFCStatusBar::SetDrawExtendedArea

void SetDrawExtendedArea(BOOL bSet = TRUE);

Paraméterek

[in] bSet

Megjegyzések

CMFCStatusBar::SetIndicators

BOOL SetIndicators(
    const UINT* lpIDArray,
    int nIDCount);

Paraméterek

[in] lpIDArray
[in] nIDCount

Visszaadott érték

Megjegyzések

CMFCStatusBar::SetPaneAnimation

Animáció hozzárendelése a megadott panelhez.

void SetPaneAnimation(
    int nIndex,
    HIMAGELIST hImageList,
    UINT nFrameRate=500,
    BOOL bUpdate=TRUE);

Paraméterek

nIndex
[in] Annak a panelnek az indexét adja meg, amelyhez animációt szeretne hozzárendelni.

hImageList
[in] Az animációs képkockákat tartalmazó képlista leíróját adja meg.

nFrameRate
[in] Ezredmásodpercben adja meg az animáció képkockasebességét.

bUpdate
[in] Ha IGAZ, azonnal frissítse a panel tartalmát. Ellenkező esetben a panel tartalma frissül, ha érvénytelenítve van.

Megjegyzések

Ha le szeretné tiltani az aktuális animációt, akkor null értékre állítja hImageList a hívástSetPaneAnimation.

CMFCStatusBar::SetPaneBackgroundColor

Beállítja az állapotsor panel háttérszínét.

void SetPaneBackgroundColor(
    int nIndex,
    COLORREF clrBackground=(COLORREF)-1,
    BOOL bUpdate=TRUE);

Paraméterek

nIndex
[in] Annak a panelnek az indexét adja meg, amelyhez új háttérszínt szeretne beállítani.

clrBackground
[in] Megadja az új háttérszínt.

bUpdate
[in] Ha IGAZ, azonnal frissítse a panel tartalmát. Ellenkező esetben ne frissítse a panel tartalmát, amíg egy másik metódus nem érvényteleníti a panelt.

CMFCStatusBar::SetPaneIcon

Állítsa be az állapotsor panel ikonját.

void SetPaneIcon(
    int nIndex,
    HICON hIcon,
    BOOL bUpdate=TRUE);

void SetPaneIcon(
    int nIndex,
    HBITMAP hBmp,
    COLORREF clrTransparent=RGB(255, 0, 255),
    BOOL bUpdate=TRUE);

Paraméterek

nIndex
[in] Annak a panelnek az indexét adja meg, amelyhez a rendszerképet be szeretné állítani.

hIcon
[in] A panel képeként beállítani kívánt ikonhoz egy fogópontot ad meg.

bUpdate
[in] Megadja, hogy a panel tartalmát azonnal frissíteni kell-e.

hBmp
[in] Megadja az ablaktábla képeként beállítani kívánt bitkép leíróját.

clrTransparent
[in] A hBmp által jelzett bitkép áttetsző színét adja meg.

Megjegyzések

A panel képének beállításához hiCON-t vagy HBITMAP-t adhat át az áttetsző színnel együtt. Ha nem szeretné többé megjeleníteni a képet, adja át a NULL értéket a képfogópontként.

Ha van olyan futó animáció, amelyet a CMFCStatusBar::SetPaneAnimation beállított, az animáció leáll.

CMFCStatusBar::SetPaneInfo

void SetPaneInfo(
    int nIndex,
    UINT nID,
    UINT nStyle,
    int cxWidth);

Paraméterek

[in] nIndex
[in] Nid
[in] nStyle
[in] cxWidth

Megjegyzések

CMFCStatusBar::SetPaneProgress

Állítsa be a megadott ablaktáblához tartozó folyamatjelzőt.

void SetPaneProgress(
    int nIndex,
    long nCurr,
    BOOL bUpdate=TRUE);

Paraméterek

nIndex
[in] Annak a panelnek az indexét adja meg, amelyhez frissíteni szeretné a folyamatjelzőt.

nCurr
[in] A folyamatjelző aktuális értékét adja meg.

bUpdate
[in] Megadja, hogy a panelt azonnal frissíteni kell-e.

Megjegyzések

Hívja meg ezt a metódust, ha frissíteni szeretné a megadott ablaktáblán lévő folyamatjelzőt.

Ha ezt a függvényt az adott panelen szeretné használni, először a CMFCStatusBar::EnablePaneProgressBar parancsot kell meghívnia.

CMFCStatusBar::SetPaneStyle

void SetPaneStyle(
    int nIndex,
    UINT nStyle);

Paraméterek

[in] nIndex
[in] nStyle

Megjegyzések

CMFCStatusBar::SetPaneText

virtual BOOL SetPaneText(
    int nIndex,
    LPCTSTR lpszNewText,
    BOOL bUpdate = TRUE);

Paraméterek

[in] nIndex
[in] lpszNewText
[in] bUpdate

Visszaadott érték

Megjegyzések

CMFCStatusBar::SetPaneTextColor

Beállítja a megadott panel szövegszínét.

void SetPaneTextColor(
    int nIndex,
    COLORREF clrText=(COLORREF)-1,
    BOOL bUpdate=TRUE);

Paraméterek

nIndex
[in] Annak a panelnek az indexét adja meg, amelyhez új szövegszínt szeretne hozzárendelni.

clrText
[in] A szöveg színét adja meg.

bUpdate
[in] Ha IGAZ, azonnal frissítse a panel tartalmát. Ellenkező esetben ne frissítse a panel tartalmát, amíg egy másik metódus nem érvényteleníti a panelt.

CMFCStatusBar::SetPaneWidth

Állítsa be az állapotsor panel szélességét.

void SetPaneWidth(
    int nIndex,
    int cx);

Paraméterek

nIndex
[in] Annak az állapotsávnak az indexe, amelyhez új szélességet szeretne beállítani.

Cx
[in] Az állapotsor paneljének új szélessége képpontban.

CMFCStatusBar::SetTipText

Állítsa be az állapotsor panel elemleírásának szövegét.

void SetTipText(
    int nIndex,
    LPCTSTR pszTipText);

Paraméterek

nIndex
[in] Annak a panelnek az indexe, amelyhez hozzá szeretné rendelni az elemleírás szövegét.

pszTipText
[in] Az új elemleírás szövege.

Lásd még

hierarchiadiagram
osztályok
CPane osztály
CStatusBar osztály