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