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