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


CStatusBarCtrl 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 Windows általános állapotsáv-vezérlőjének funkcióit biztosítja.

Szemantika

class CStatusBarCtrl : public CWnd

Tagok

Nyilvános konstruktorok

Név Description
CStatusBarCtrl::CStatusBarCtrl Egy CStatusBarCtrl objektumot hoz létre.

Nyilvános metódusok

Név Description
CStatusBarCtrl::Létrehozás Létrehoz egy állapotsor-vezérlőt, és csatolja egy CStatusBarCtrl objektumhoz.
CStatusBarCtrl::CreateEx Létrehoz egy állapotsor-vezérlőt a megadott Bővített Windows-stílusokkal, és csatolja azt egy CStatusBarCtrl objektumhoz.
CStatusBarCtrl::D rawItem Akkor hívható meg, ha a tulajdonos-rajz állapotsávjának vizuális aspektusa megváltozik.
CStatusBarCtrl::GetBorders Lekéri egy állapotsáv vezérlőelem vízszintes és függőleges szegélyének aktuális szélességét.
CStatusBarCtrl::GetIcon Lekéri az aktuális állapotsor vezérlőelem egy részének (más néven panelnek) ikonját.
CStatusBarCtrl::GetParts Lekéri az állapotsor-vezérlő részeinek számát.
CStatusBarCtrl::GetRect Lekéri egy állapotsáv vezérlőelem egy részének határoló téglalapját.
CStatusBarCtrl::GetText Lekéri a szöveget egy állapotsor-vezérlő adott részéből.
CStatusBarCtrl::GetTextLength Kérje le a szöveg hosszát karakterben az állapotsor vezérlőelem adott részéből.
CStatusBarCtrl::GetTipText Lekéri az állapotsoron lévő panel elemleírásának szövegét.
CStatusBarCtrl::IsSimple Ellenőrzi az állapotablak vezérlőelemet annak megállapításához, hogy egyszerű módban van-e.
CStatusBarCtrl::SetBkColor Beállítja a háttérszínt egy állapotsoron.
CStatusBarCtrl::SetIcon Egy állapotsor paneljének ikonját állítja be.
CStatusBarCtrl::SetMinHeight Beállítja az állapotsor-vezérlő rajzterületének minimális magasságát.
CStatusBarCtrl::SetParts Beállítja az állapotsor-vezérlő részeinek számát és az egyes részek jobb szélének koordinátáját.
CStatusBarCtrl::SetSimple Megadja, hogy egy állapotsor-vezérlő egyszerű szöveget jelenít-e meg, vagy megjeleníti-e az előző hívás által beállított összes vezérlőrészt SetParts.
CStatusBarCtrl::SetText Beállítja az állapotsor vezérlőelem adott részének szövegét.
CStatusBarCtrl::SetTipText Az állapotsoron lévő panel elemleírásának szövegét állítja be.

Megjegyzések

Az "állapotsor-vezérlő" egy vízszintes ablak, amely általában a szülőablak alján jelenik meg, amelyben az alkalmazás különféle állapotinformációkat jeleníthet meg. Az állapotsor vezérlőelem több információtípus megjelenítéséhez részekre osztható.

Ez a vezérlő (és így az CStatusBarCtrl osztály) csak a Windows 95/98 és a Windows NT 3.51-es és újabb verzióiban futó programokhoz érhető el.

További információ a használatról CStatusBarCtrl: Vezérlők és A CStatusBarCtrl használata.

Öröklési hierarchia

CObject

CCmdTarget

CWnd

CStatusBarCtrl

Requirements

Fejléc: afxcmn.h

CStatusBarCtrl::Létrehozás

Létrehoz egy állapotsor-vezérlőt, és csatolja egy CStatusBarCtrl objektumhoz.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Paraméterek

dwStyle
Az állapotsor vezérlőelem stílusát adja meg. A Windows SDK közös vezérlőstílusaiban felsorolt állapotsáv-vezérlőstílusok bármilyen kombinációját alkalmazhatja. Ennek a paraméternek tartalmaznia kell a WS_CHILD stílust. A WS_VISIBLE stílust is tartalmaznia kell.

téglalap
Az állapotsor vezérlőelem méretét és pozícióját adja meg. Lehet CRect objektum vagy RECT-struktúra .

pParentWnd
Az állapotsor vezérlőelem szülőablakát adja meg, általában egy CDialog. Nem lehet NULL.

nID
Az állapotsor vezérlőelem azonosítóját adja meg.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben nulla.

Megjegyzések

Két lépésben hozhat létre egy CStatusBarCtrl elemet. Először hívja meg a konstruktort, majd hívja meg Create, amely létrehozza az állapotsor-vezérlőt, és csatolja az CStatusBarCtrl objektumhoz.

Az állapotablak alapértelmezett helye a szülőablak alján található, de megadhatja a CCS_TOP stílust, hogy az megjelenjen a szülőablak ügyfélterületének tetején. Megadhatja a SBARS_SIZEGRIP stílust, hogy az állapotablak jobb végén lévő méretezési fogó legyen. A CCS_TOP és a SBARS_SIZEGRIP stílusok kombinálása nem ajánlott, mert az eredményként kapott méretezési fogás nem működik annak ellenére, hogy a rendszer az állapotablakban rajzolja.

Ha bővített ablakstílusokat tartalmazó állapotsort szeretne létrehozni, hívja meg a CStatusBarCtrl::CreateEx parancsot ahelyett Create, hogy a .

Example

VERIFY(m_wndSBC.Create(WS_CHILD | WS_VISIBLE | CCS_BOTTOM | SBARS_SIZEGRIP,
                       CRect(0, 0, 0, 0), this, IDC_STATUSBARCTRL));

CStatusBarCtrl::CreateEx

Létrehoz egy vezérlőt (egy gyermekablakot), és társítja azt az CStatusBarCtrl objektummal.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Paraméterek

dwExStyle
A létrehozott vezérlőelem kiterjesztett stílusát adja meg. A bővített Windows-stílusok listáját a CreateWindowExdwExStyle paraméterében találja a Windows SDK-ban.

dwStyle
Az állapotsor vezérlőelem stílusát adja meg. A Windows SDK közös vezérlőstílusaiban felsorolt állapotsáv-vezérlőstílusok bármilyen kombinációját alkalmazhatja. Ennek a paraméternek tartalmaznia kell a WS_CHILD stílust. A WS_VISIBLE stílust is tartalmaznia kell.

téglalap
Hivatkozás a létrehozandó ablak méretét és pozícióját leíró RECT-struktúrára a pParentWnd ügyfélkoordinátáiban.

pParentWnd
A vezérlő szülőablakára mutató mutató.

nID
A vezérlő gyermekablak-azonosítója.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A CreateExLétrehozás helyett kiterjesztett Windows-stílusokat alkalmazhat, amelyeket a Windows bővített stílus előszavában WS_EX_.

CStatusBarCtrl::CStatusBarCtrl

Egy CStatusBarCtrl objektumot hoz létre.

CStatusBarCtrl();

CStatusBarCtrl::D rawItem

A keretrendszer meghívja, amikor a tulajdonos-rajz állapotsávjának vizuális aspektusa megváltozik.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Paraméterek

lpDrawItemStruct
Hosszú mutató egy DRAWITEMSTRUCT-struktúrára , amely a szükséges rajztípussal kapcsolatos információkat tartalmazza.

Megjegyzések

A itemAction struktúra tagja DRAWITEMSTRUCT határozza meg a végrehajtandó rajzműveletet.

Alapértelmezés szerint ez a tagfüggvény nem tesz semmit. A tagfüggvény felülbírálása egy tulajdonosi rajzobjektum CStatusBarCtrl rajzának implementálásához.

Az alkalmazásnak a tagfüggvény leállása előtt vissza kell állítania az lpDrawItemStruct-ben megadott megjelenítési környezethez kiválasztott grafikus eszközillesztő (GDI) objektumokat.

CStatusBarCtrl::GetBorders

Lekéri az állapotsáv-vezérlő aktuális szélességét a vízszintes és a függőleges szegélyek, valamint a téglalapok közötti térközök között.

BOOL GetBorders(int* pBorders) const;

BOOL GetBorders(
    int& nHorz,
    int& nVert,
    int& nSpacing) const;

Paraméterek

pBorders
Egy három elemet tartalmazó egész számtömb címe. Az első elem megkapja a vízszintes szegély szélességét, a második a függőleges szegély szélességét, a harmadik pedig a téglalapok közötti szegély szélességét.

nHorz
Hivatkozás a vízszintes szegély szélességét fogadó egész számra.

nVert
Hivatkozás a függőleges szegély szélességét fogadó egész számra.

nSpacing
Hivatkozás egy egész számra, amely a téglalapok közötti szegély szélességét kapja.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben nulla.

Megjegyzések

Ezek a szegélyek határozzák meg a vezérlőelem külső széle és a szöveget tartalmazó vezérlőelemen belüli téglalapok közötti térközt.

Example

RECT rectPane1;
VERIFY(m_wndSBC.GetRect(1, &rectPane1));

int borderArray[3];
VERIFY(m_wndSBC.GetBorders(borderArray));

int nHorz, nVert, nSpacing;
VERIFY(m_wndSBC.GetBorders(nHorz, nVert, nSpacing));

CStatusBarCtrl::GetIcon

Lekéri az aktuális állapotsor vezérlőelem egy részének (más néven panelnek) ikonját.

HICON GetIcon(int iPart) const;

Paraméterek

iPart
[in] A lekérendő ikont tartalmazó rész nulla alapú indexe. Ha ez a paraméter -1, az állapotsor egyszerű módú állapotsornak számít.

Visszaadott érték

Az ikon fogópontja, ha a metódus sikeres; ellenkező esetben NULL.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt SB_GETICON üzenetet.

Az állapotsor-vezérlők szövegkimeneti panelekből állnak, amelyeket részeknek is neveznek. Az állapotsorról további információt az MFC állapotsor-implementációjában és a CStatusBarCtrl objektum módjának beállításában talál.

Example

Az első kódpéldában definiál egy változót, m_statusBaramely az aktuális állapotsáv-vezérlő eléréséhez használható. Ezt a változót a következő példában használjuk.

public:
CStatusBarCtrl m_statusBar;

A következő példakód egy ikont másol az aktuális állapotsor-vezérlő két paneljére. A példakód egy korábbi szakaszában létrehoztunk egy állapotsor-vezérlőt három ablaktáblával, majd hozzáadtunk egy ikont az első panelhez. Ez a példa lekéri az ikont az első panelről, majd hozzáadja a második és a harmadik panelhez.

// Get the icon from pane 1 and set it in panes 2 and 3.
HICON hIcon = m_statusBar.GetIcon(0);
m_statusBar.SetIcon(1, hIcon);
m_statusBar.SetIcon(2, hIcon);

CStatusBarCtrl::GetParts

Lekéri az állapotsor-vezérlő részeinek számát.

int GetParts(
    int nParts,
    int* pParts) const;

Paraméterek

nParts
A koordinátákat lekérni kívánt részek száma. Ha ez a paraméter nagyobb, mint a vezérlőben lévő részek száma, az üzenet csak a meglévő részek koordinátáit kéri le.

pParts
Az nParts által megadott részek számával megegyező számú elemből álló egész tömb címe. A tömb minden eleme megkapja a megfelelő rész jobb szélének ügyfélkoordinátát. Ha egy elem - 1 értékre van állítva, az adott rész jobb szélének pozíciója az állapotsor jobb széléig terjed.

Visszaadott érték

A vezérlőben lévő részek száma, ha sikeres, vagy nulla.

Megjegyzések

Ez a tagfüggvény a megadott számú rész jobb szélének koordinátáját is lekéri.

Example

int pParts[2];

int nParts = m_wndSBC.GetParts(2, pParts);

CStatusBarCtrl::GetRect

Lekéri egy állapotsáv vezérlőelem egy részének határoló téglalapját.

BOOL GetRect(
    int nPane,
    LPRECT lpRect) const;

Paraméterek

nPane
Annak a résznek a nullaalapú indexe, amelynek határolókeretét le kell kérni.

lpRect
A határoló téglalapot fogadó RECT-struktúra címe.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben nulla.

Example

CRect rectPane1;

VERIFY(m_wndSBC.GetRect(1, &rectPane1));

CStatusBarCtrl::GetText

Lekéri a szöveget egy állapotsor-vezérlő adott részéből.

CString GetText(
    int nPane,
    int* pType = NULL) const;

int GetText(
    LPCTSTR lpszText,
    int nPane,
    int* pType = NULL) const;

Paraméterek

lpszText
A szöveget fogadó puffer címe. Ez a paraméter null értékű sztring.

nPane
Annak a résznek a nullaalapú indexe, amelyből szöveget szeretne lekérni.

pType
Mutasson egy egész számra, amely megkapja a típusadatokat. A típus az alábbi értékek egyike lehet:

  • 0 A szöveg szegélylel van rajzolva, amely az állapotsor síkja alatt jelenik meg.

  • SBT_NOBORDERS A szöveg szegélyek nélkül van rajzolva.

  • SBT_POPOUT A szöveg szegélylel van rajzolva, amely az állapotsor síkja felett jelenik meg.

  • SBT_OWNERDRAW Ha a szöveg SBT_OWNERDRAW rajztípussal rendelkezik, a pType megkapja ezt az üzenetet, és a hossz és a művelet típusa helyett a szöveghez társított 32 bites értéket adja vissza.

Visszaadott érték

A szöveg vagy az aktuális szöveget tartalmazó CString hossza karakterben.

Example

int nType;
TCHAR *pszPaneOneText;

pszPaneOneText = new TCHAR[m_wndSBC.GetTextLength(1, &nType) + 1];
int nTextLength = m_wndSBC.GetText(pszPaneOneText, 1, &nType);

switch (nType)
{
case 0:
   // Text is drawn with a border to appear lower than the
   // plane of the status bar
   break;
case SBT_NOBORDERS:
   // text is drawn without borders
   break;
case SBT_OWNERDRAW:
   // Text is drawn by the parent window
   break;
case SBT_POPOUT:
   // Text is drawn with a border to appear higher than the
   // plane of the status bar
   break;
}

delete pszPaneOneText;

CStatusBarCtrl::GetTextLength

Lekéri a szöveg hosszát karakterben az állapotsor vezérlőelem adott részéből.

int GetTextLength(
    int nPane,
    int* pType = NULL) const;

Paraméterek

nPane
Annak a résznek a nullaalapú indexe, amelyből szöveget szeretne lekérni.

pType
Mutasson egy egész számra, amely megkapja a típusadatokat. A típus az alábbi értékek egyike lehet:

  • 0 A szöveg szegélylel van rajzolva, amely az állapotsor síkja alatt jelenik meg.

  • SBT_NOBORDERS A szöveg szegélyek nélkül van rajzolva.

  • SBT_OWNERDRAW A szöveget a szülőablak rajzolja meg.

  • SBT_POPOUT A szöveg szegélylel van rajzolva, amely az állapotsor síkja felett jelenik meg.

Visszaadott érték

A szöveg hossza karakterben.

Example

int nType;
int nLength = m_wndSBC.GetTextLength(0, &nType);

switch (nType)
{
case 0:
   // Text is drawn with a border to appear lower than the
   // plane of the status bar
   break;
case SBT_NOBORDERS:
   // text is drawn without borders
   break;
case SBT_OWNERDRAW:
   // Text is drawn by the parent window
   break;
case SBT_POPOUT:
   // Text is drawn with a border to appear higher than the
   // plane of the status bar
   break;
}

CStatusBarCtrl::GetTipText

Lekéri az állapotsoron lévő panel elemleírásának szövegét.

CString GetTipText(int nPane) const;

Paraméterek

nPane
Az állapotsor panel nulla alapú indexe az elemleírás szövegének fogadásához.

Visszaadott érték

CString objektum, amely az elemleírásban használandó szöveget tartalmazza.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet SB_GETTIPTEXT viselkedését a Windows SDK-ban leírtak szerint.

Example

CString csPane0TipText = m_wndSBC.GetTipText(0);

CStatusBarCtrl::IsSimple

Ellenőrzi az állapotablak vezérlőelemet annak megállapításához, hogy egyszerű módban van-e.

BOOL IsSimple() const;

Visszaadott érték

Nonzero, ha az állapotablak vezérlője egyszerű módban van; ellenkező esetben nulla.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet SB_ISSIMPLE viselkedését a Windows SDK-ban leírtak szerint.

CStatusBarCtrl::SetBkColor

Beállítja a háttérszínt egy állapotsoron.

COLORREF SetBkColor(COLORREF cr);

Paraméterek

Cr
AZ új háttérszínt meghatározó COLORREF érték. Adja meg azt a CLR_DEFAULT értéket, amely miatt az állapotsor az alapértelmezett háttérszínt használja.

Visszaadott érték

A COLORREF érték, amely az előző alapértelmezett háttérszínt jelöli.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet SB_SETBKCOLOR viselkedését a Windows SDK-ban leírtak szerint.

Example

m_wndSBC.SetBkColor(RGB(0, 0, 250));

HICON hIcon = AfxGetApp()->LoadIcon(IDI_PANE_0_ICON);
VERIFY(hIcon);
VERIFY(m_wndSBC.SetIcon(0, hIcon));

CStatusBarCtrl::SetIcon

Egy állapotsor paneljének ikonját állítja be.

BOOL SetIcon(
    int nPane,
    HICON hIcon);

Paraméterek

nPane
Az ikont fogadó panel nullaalapú indexe. Ha ez a paraméter -1, az állapotsor egyszerű állapotsornak számít.

hIcon
A beállítani kívánt ikont fogja meg. Ha ez az érték NULL, az ikon el lesz távolítva az alkatrészből.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben nulla.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet SB_SETICON viselkedését a Windows SDK-ban leírtak szerint.

Example

Lásd a CStatusBarCtrl::SetBkColor példát.

CStatusBarCtrl::SetMinHeight

Beállítja az állapotsor-vezérlő rajzterületének minimális magasságát.

void SetMinHeight(int nMin);

Paraméterek

nMin
A vezérlőelem minimális magassága képpontban.

Megjegyzések

A minimális magasság az állapotsor vezérlőelem függőleges szegélyének képpontban megadott szélessége nMin és kétszerese.

Example

m_wndSBC.SetMinHeight(40);

CStatusBarCtrl::SetParts

Beállítja az állapotsor-vezérlő részeinek számát és az egyes részek jobb szélének koordinátáját.

BOOL SetParts(
    int nParts,
    int* pWidths);

Paraméterek

nParts
Beállítandó alkatrészek száma. Az alkatrészek száma nem lehet nagyobb 255-nél.

pWidths
Az nParts által megadott részek számával megegyező számú elemből álló egész tömb címe. A tömb minden eleme megadja a megfelelő rész jobb szélének pozícióját az ügyfélkoordinátákban. Ha egy elem - 1, akkor az adott rész jobb szélének pozíciója a vezérlő jobb széléig terjed.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben nulla.

Example

const int c_nParts = 4;
CRect rect;

m_wndSBC.GetClientRect(&rect);
int aWidths[c_nParts] = {rect.right - 300, rect.right - 200, rect.right - 100,
                         -1};

VERIFY(m_wndSBC.SetParts(c_nParts, aWidths));

CStatusBarCtrl::SetSimple

Megadja, hogy egy állapotsáv vezérlőelem egyszerű szöveget jelenít-e meg, vagy megjeleníti-e a SetParts korábbi hívása által beállított összes vezérlőrészt.

BOOL SetSimple(BOOL bSimple = TRUE);

Paraméterek

bSimple
[in] Megjelenítési típusú jelző. Ha ez a paraméter IGAZ, a vezérlő egyszerű szöveget jelenít meg; ha HAMIS, akkor több alkatrészt jelenít meg.

Visszaadott érték

Mindig 0-t ad.

Megjegyzések

Ha az alkalmazás nem egyszerűről egyszerűre módosítja az állapotsor vezérlőt, vagy fordítva, a rendszer azonnal újraírja a vezérlőt.

CStatusBarCtrl::SetText

Beállítja az állapotsor vezérlőelem adott részének szövegét.

BOOL SetText(
    LPCTSTR lpszText,
    int nPane,
    int nType);

Paraméterek

lpszText
A beállítani kívánt szöveget megadó null értékű sztring címe. Ha az nType SBT_OWNERDRAW, az lpszText 32 bites adatot jelöl.

nPane
A beállítani kívánt rész nullaalapú indexe. Ha ez az érték 255, akkor az állapotsor vezérlőelem egy egyszerű vezérlő, amelynek csak egy része van.

nType
A rajzművelet típusa. A lehetséges értékek listáját SB_SETTEXT üzenetben találja.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben nulla.

Megjegyzések

Az üzenet érvényteleníti a vezérlőelem azon részét, amely módosult, ezért az új szöveg jelenik meg, amikor a vezérlő következő üzenete megkapja a WM_PAINT üzenetet.

Example

VERIFY(m_wndSBC.SetText(_T("Text For Pane 1"), 1, 0));

CStatusBarCtrl::SetTipText

Az állapotsoron lévő panel elemleírásának szövegét állítja be.

void SetTipText(
    int nPane,
    LPCTSTR pszTipText);

Paraméterek

nPane
Az állapotsor panel nulla alapú indexe az elemleírás szövegének fogadásához.

pszTipText
Az elemleírás szövegét tartalmazó sztringre mutató mutató.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet SB_SETTIPTEXT viselkedését a Windows SDK-ban leírtak szerint.

Example

m_wndSBC.SetTipText(0, _T("This is Pane 0"));

Lásd még

CWnd osztály
hierarchiadiagram
CToolBarCtrl osztály