Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Biedt de functionaliteit van het algemene besturingselement van de Windows-statusbalk.
Syntaxis
class CStatusBarCtrl : public CWnd
Leden
Openbare constructors
| Naam | Description |
|---|---|
| CStatusBarCtrl::CStatusBarCtrl | Maakt een CStatusBarCtrl object. |
Openbare methoden
| Naam | Description |
|---|---|
| CStatusBarCtrl::Create | Hiermee maakt u een statusbalk besturingselement en koppelt u dit aan een CStatusBarCtrl object. |
| CStatusBarCtrl::CreateEx | Hiermee maakt u een statusbalk besturingselement met de opgegeven uitgebreide Stijlen van Windows en koppelt u dit aan een CStatusBarCtrl object. |
| CStatusBarCtrl::D rawItem | Aangeroepen wanneer een visueel aspect van een besturingselement voor het tekenen van de statusbalk van een eigenaar verandert. |
| CStatusBarCtrl::GetBorders | Hiermee haalt u de huidige breedte van de horizontale en verticale randen van een statusbalk besturingselement op. |
| CStatusBarCtrl::GetIcon | Hiermee wordt het pictogram voor een onderdeel (ook wel een deelvenster genoemd) opgehaald in het huidige besturingselement voor de statusbalk. |
| CStatusBarCtrl::GetParts | Hiermee haalt u het aantal onderdelen in een statusbalk besturingselement op. |
| CStatusBarCtrl::GetRect | Hiermee haalt u de begrenzingsrechthoek van een onderdeel op in een statusbalk besturingselement. |
| CStatusBarCtrl::GetText | Haalt de tekst op uit het opgegeven deel van een statusbalk besturingselement. |
| CStatusBarCtrl::GetTextLength | Haal de lengte, in tekens, van de tekst op uit het opgegeven deel van een statusbalk besturingselement. |
| CStatusBarCtrl::GetTipText | Hiermee haalt u de knopinfotekst voor een deelvenster op een statusbalk op. |
| CStatusBarCtrl::IsSimple | Hiermee wordt een besturingselement voor een statusvenster gecontroleerd om te bepalen of het zich in de eenvoudige modus bevindt. |
| CStatusBarCtrl::SetBkColor | Hiermee stelt u de achtergrondkleur in een statusbalk in. |
| CStatusBarCtrl::SetIcon | Hiermee stelt u het pictogram voor een deelvenster in een statusbalk in. |
| CStatusBarCtrl::SetMinHeight | Hiermee stelt u de minimale hoogte in van het tekengebied van een statusbalk. |
| CStatusBarCtrl::SetParts | Hiermee stelt u het aantal onderdelen in een statusbalkbesturing en de coördinaat van de rechterrand van elk onderdeel in. |
| CStatusBarCtrl::SetSimple | Hiermee geeft u op of een statusbalk besturingselement eenvoudige tekst weergeeft of alle besturingsonderdelen worden weergegeven die zijn ingesteld door een vorige aanroep naar SetParts. |
| CStatusBarCtrl::SetText | Hiermee stelt u de tekst in het opgegeven deel van een statusbalk besturingselement in. |
| CStatusBarCtrl::SetTipText | Hiermee stelt u de knopinfotekst voor een deelvenster in een statusbalk in. |
Opmerkingen
Een 'besturingselement voor de statusbalk' is een horizontaal venster dat meestal onderaan een bovenliggend venster wordt weergegeven, waarin een toepassing verschillende soorten statusinformatie kan weergeven. Het besturingselement voor de statusbalk kan worden onderverdeeld in onderdelen om meer dan één type informatie weer te geven.
Dit besturingselement (en daarom de CStatusBarCtrl klasse) is alleen beschikbaar voor programma's die worden uitgevoerd onder Windows 95/98 en Windows NT versie 3.51 en hoger.
Zie Besturingselementen en CStatusBarCtrl gebruiken voor meer informatie over het gebruikCStatusBarCtrl.
Overnamehiërarchie
CStatusBarCtrl
Requirements
Koptekst: afxcmn.h
CStatusBarCtrl::Create
Hiermee maakt u een statusbalk besturingselement en koppelt u dit aan een CStatusBarCtrl object.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameterwaarden
dwStyle
Hiermee geeft u de stijl van het besturingselement voor de statusbalk op. Pas een combinatie van besturingsstijlen op de statusbalk toe die worden vermeld in Algemene besturingsstijlen in de Windows SDK. Deze parameter moet de WS_CHILD stijl bevatten. Het moet ook de WS_VISIBLE stijl bevatten.
Rect
Hiermee geeft u de grootte en positie van het statusbalk besturingselement. Het kan een CRect-object of een RECT-structuur zijn.
pParentWnd
Hiermee geeft u het bovenliggende venster van het besturingselement van de statusbalk, meestal een CDialog. Deze mag niet NULL zijn.
nID
Hiermee geeft u de id van het statusbalk besturingselement.
Retourwaarde
Niet-nul indien geslaagd; anders nul.
Opmerkingen
U maakt een CStatusBarCtrl in twee stappen. Roep eerst de constructor aan en roep Createvervolgens het statusbalk-besturingselement aan en koppelt het aan het CStatusBarCtrl object.
De standaardpositie van een statusvenster bevindt zich onderaan het bovenliggende venster, maar u kunt de CCS_TOP stijl opgeven om deze boven aan het clientgebied van het bovenliggende venster weer te geven. U kunt de SBARS_SIZEGRIP stijl opgeven om een formaatgreep aan de rechterkant van het statusvenster op te nemen. Het combineren van de stijlen CCS_TOP en SBARS_SIZEGRIP wordt niet aanbevolen, omdat de resulterende formaatgreep niet functioneel is, zelfs als het systeem het in het statusvenster tekent.
Als u een statusbalk met uitgebreide vensterstijlen wilt maken, roept u CStatusBarCtrl::CreateEx aan in plaats van Create.
Example
VERIFY(m_wndSBC.Create(WS_CHILD | WS_VISIBLE | CCS_BOTTOM | SBARS_SIZEGRIP,
CRect(0, 0, 0, 0), this, IDC_STATUSBARCTRL));
CStatusBarCtrl::CreateEx
Hiermee maakt u een besturingselement (een onderliggend venster) en koppelt u dit aan het CStatusBarCtrl object.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameterwaarden
dwExStyle
Hiermee geeft u de uitgebreide stijl van het besturingselement dat wordt gemaakt. Zie de dwExStyle-parameter voor CreateWindowEx in de Windows SDK voor een lijst met uitgebreide Windows-stijlen.
dwStyle
Hiermee geeft u de stijl van het besturingselement voor de statusbalk op. Pas een combinatie van besturingsstijlen op de statusbalk toe die worden vermeld in Algemene besturingsstijlen in de Windows SDK. Deze parameter moet de WS_CHILD stijl bevatten. Het moet ook de WS_VISIBLE stijl bevatten.
Rect
Een verwijzing naar een RECT-structuur die de grootte en positie van het venster beschrijft dat moet worden gemaakt, in clientcoördinaten van pParentWnd.
pParentWnd
Een aanwijzer naar het venster dat het bovenliggende besturingselement is.
nID
De id van het onderliggende venster van het besturingselement.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Gebruik CreateEx in plaats van Maken om uitgebreide Windows-stijlen toe te passen, die zijn opgegeven door het voorwoord van de uitgebreide stijl van Windows WS_EX_.
CStatusBarCtrl::CStatusBarCtrl
Maakt een CStatusBarCtrl object.
CStatusBarCtrl();
CStatusBarCtrl::D rawItem
Aangeroepen door het framework wanneer een visueel aspect van een besturingselement voor het tekenen van de statusbalk van een eigenaar verandert.
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
Parameterwaarden
lpDrawItemStruct
Een lange aanwijzer naar een DRAWITEMSTRUCT-structuur die informatie bevat over het type tekening dat vereist is.
Opmerkingen
Het itemAction lid van de DRAWITEMSTRUCT structuur definieert de tekenactie die moet worden uitgevoerd.
Deze lidfunctie doet standaard niets. Overschrijf deze lidfunctie om tekening te implementeren voor een eigenaar-tekenobject CStatusBarCtrl .
De toepassing moet alle GDI-objecten (Graphics Device Interface) herstellen die zijn geselecteerd voor de weergavecontext die is opgegeven in lpDrawItemStruct voordat deze lidfunctie wordt beëindigd.
CStatusBarCtrl::GetBorders
Hiermee haalt u de huidige breedte van het statusbalk besturingselement van de horizontale en verticale randen en van de ruimte tussen rechthoeken op.
BOOL GetBorders(int* pBorders) const;
BOOL GetBorders(
int& nHorz,
int& nVert,
int& nSpacing) const;
Parameterwaarden
pBorders
Adres van een matrix met gehele getallen met drie elementen. Het eerste element ontvangt de breedte van de horizontale rand, de tweede ontvangt de breedte van de verticale rand en het derde element ontvangt de breedte van de rand tussen rechthoeken.
nHorz
Verwijzing naar een geheel getal dat de breedte van de horizontale rand ontvangt.
nVert
Verwijzing naar een geheel getal dat de breedte van de verticale rand ontvangt.
nSpacing
Verwijzing naar een geheel getal dat de breedte van de rand tussen rechthoeken ontvangt.
Retourwaarde
Niet-nul indien geslaagd; anders nul.
Opmerkingen
Deze randen bepalen de afstand tussen de buitenrand van het besturingselement en de rechthoeken binnen het besturingselement die tekst bevatten.
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
Hiermee wordt het pictogram voor een onderdeel (ook wel een deelvenster genoemd) opgehaald in het huidige besturingselement voor de statusbalk.
HICON GetIcon(int iPart) const;
Parameterwaarden
iPart
[in] De op nul gebaseerde index van het onderdeel dat het pictogram bevat dat moet worden opgehaald. Als deze parameter -1 is, wordt ervan uitgegaan dat de statusbalk een eenvoudige statusbalk in de modus is.
Retourwaarde
De ingang naar het pictogram als de methode is geslaagd; anders, NULL.
Opmerkingen
Met deze methode wordt het SB_GETICON bericht verzonden, dat wordt beschreven in de Windows SDK.
Een statusbalk besturingselement bestaat uit een rij met tekstuitvoervensters, die ook wel onderdelen worden genoemd. Zie De implementatie van de statusbalk in MFC en de modus van een CStatusBarCtrl-object instellen voor meer informatie over de statusbalk.
Example
In het eerste codevoorbeeld wordt een variabele gedefinieerd, m_statusBardie wordt gebruikt voor toegang tot het huidige statusbalkbeheer. Deze variabele wordt gebruikt in het volgende voorbeeld.
public:
CStatusBarCtrl m_statusBar;
In het volgende codevoorbeeld wordt een pictogram gekopieerd naar twee deelvensters van het huidige besturingselement voor de statusbalk. In een eerdere sectie van het codevoorbeeld hebben we een besturingselement voor de statusbalk gemaakt met drie deelvensters en vervolgens een pictogram toegevoegd aan het eerste deelvenster. In dit voorbeeld wordt het pictogram opgehaald uit het eerste deelvenster en vervolgens toegevoegd aan het tweede en derde deelvenster.
// 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
Hiermee haalt u het aantal onderdelen in een statusbalk besturingselement op.
int GetParts(
int nParts,
int* pParts) const;
Parameterwaarden
nParts
Aantal onderdelen waarvoor coördinaten moeten worden opgehaald. Als deze parameter groter is dan het aantal onderdelen in het besturingselement, haalt het bericht alleen coördinaten op voor bestaande onderdelen.
pParts
Adres van een geheel getalmatrix met hetzelfde aantal elementen als het aantal onderdelen dat is opgegeven door nParts. Elk element in de matrix ontvangt de clientcoördinaat van de rechterrand van het bijbehorende deel. Als een element is ingesteld op - 1, breidt de positie van de rechterrand voor dat onderdeel zich uit tot de rechterrand van de statusbalk.
Retourwaarde
Het aantal onderdelen in het besturingselement, indien geslaagd, of anders nul.
Opmerkingen
Deze lidfunctie haalt ook de coördinaat van de rechterrand van het opgegeven aantal onderdelen op.
Example
int pParts[2];
int nParts = m_wndSBC.GetParts(2, pParts);
CStatusBarCtrl::GetRect
Hiermee haalt u de begrenzingsrechthoek van een onderdeel op in een statusbalk besturingselement.
BOOL GetRect(
int nPane,
LPRECT lpRect) const;
Parameterwaarden
nPane
Op nul gebaseerde index van het deel waarvan de begrenzingsrechthoek moet worden opgehaald.
lpRect
Adres van een RECT-structuur die de begrenzingsrechthoek ontvangt.
Retourwaarde
Niet-nul indien geslaagd; anders nul.
Example
CRect rectPane1;
VERIFY(m_wndSBC.GetRect(1, &rectPane1));
CStatusBarCtrl::GetText
Haalt de tekst op uit het opgegeven deel van een statusbalk besturingselement.
CString GetText(
int nPane,
int* pType = NULL) const;
int GetText(
LPCTSTR lpszText,
int nPane,
int* pType = NULL) const;
Parameterwaarden
lpszText
Adres van de buffer die de tekst ontvangt. Deze parameter is een tekenreeks die door null is beëindigd.
nPane
Op nul gebaseerde index van het deel waaruit tekst moet worden opgehaald.
pType
Wijs een geheel getal aan dat de typegegevens ontvangt. Het type kan een van deze waarden zijn:
0 De tekst wordt getekend met een rand die lager wordt weergegeven dan het vlak van de statusbalk.
SBT_NOBORDERS De tekst wordt zonder randen getekend.
SBT_POPOUT De tekst wordt getekend met een rand die hoger wordt weergegeven dan het vlak van de statusbalk.
SBT_OWNERDRAW Als de tekst het tekentype SBT_OWNERDRAW heeft, ontvangt pType dit bericht en wordt de 32-bits waarde geretourneerd die aan de tekst is gekoppeld in plaats van de lengte en het bewerkingstype.
Retourwaarde
De lengte, in tekens, van de tekst of een CString die de huidige tekst bevat.
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
Haalt de lengte, in tekens, van de tekst op uit het opgegeven deel van een statusbalk besturingselement.
int GetTextLength(
int nPane,
int* pType = NULL) const;
Parameterwaarden
nPane
Op nul gebaseerde index van het deel waaruit tekst moet worden opgehaald.
pType
Wijs een geheel getal aan dat de typegegevens ontvangt. Het type kan een van deze waarden zijn:
0 De tekst wordt getekend met een rand die lager wordt weergegeven dan het vlak van de statusbalk.
SBT_NOBORDERS De tekst wordt zonder randen getekend.
SBT_OWNERDRAW De tekst wordt getekend door het bovenliggende venster.
SBT_POPOUT De tekst wordt getekend met een rand die hoger wordt weergegeven dan het vlak van de statusbalk.
Retourwaarde
De lengte, in tekens, van de tekst.
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
Hiermee haalt u de knopinfotekst voor een deelvenster op een statusbalk op.
CString GetTipText(int nPane) const;
Parameterwaarden
nPane
De op nul gebaseerde index van het deelvenster Statusbalk om de knopinfotekst te ontvangen.
Retourwaarde
Een CString-object met de tekst die moet worden gebruikt in de knopinfo.
Opmerkingen
Deze lidfunctie implementeert het gedrag van het Win32-bericht SB_GETTIPTEXT, zoals beschreven in de Windows SDK.
Example
CString csPane0TipText = m_wndSBC.GetTipText(0);
CStatusBarCtrl::IsSimple
Hiermee wordt een besturingselement voor een statusvenster gecontroleerd om te bepalen of het zich in de eenvoudige modus bevindt.
BOOL IsSimple() const;
Retourwaarde
Niet-nul als het besturingselement van het statusvenster zich in de eenvoudige modus bevindt; anders nul.
Opmerkingen
Deze lidfunctie implementeert het gedrag van het Win32-bericht SB_ISSIMPLE, zoals beschreven in de Windows SDK.
CStatusBarCtrl::SetBkColor
Hiermee stelt u de achtergrondkleur in een statusbalk in.
COLORREF SetBkColor(COLORREF cr);
Parameterwaarden
Cr
COLORREF-waarde waarmee de nieuwe achtergrondkleur wordt opgegeven. Geef de CLR_DEFAULT waarde op zodat de statusbalk de standaardachtergrondkleur gebruikt.
Retourwaarde
Een COLORREF-waarde die de vorige standaardachtergrondkleur vertegenwoordigt.
Opmerkingen
Deze lidfunctie implementeert het gedrag van het Win32-bericht SB_SETBKCOLOR, zoals beschreven in de Windows SDK.
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
Hiermee stelt u het pictogram voor een deelvenster in een statusbalk in.
BOOL SetIcon(
int nPane,
HICON hIcon);
Parameterwaarden
nPane
De op nul gebaseerde index van het deelvenster dat het pictogram ontvangt. Als deze parameter -1 is, wordt ervan uitgegaan dat de statusbalk een eenvoudige statusbalk is.
hIcon
Greep naar het pictogram dat moet worden ingesteld. Als deze waarde NULL is, wordt het pictogram uit het onderdeel verwijderd.
Retourwaarde
Niet-nul indien geslaagd; anders nul.
Opmerkingen
Deze lidfunctie implementeert het gedrag van het Win32-bericht SB_SETICON, zoals beschreven in de Windows SDK.
Example
Zie het voorbeeld voor CStatusBarCtrl::SetBkColor.
CStatusBarCtrl::SetMinHeight
Hiermee stelt u de minimale hoogte in van het tekengebied van een statusbalk.
void SetMinHeight(int nMin);
Parameterwaarden
Nmin
Minimale hoogte, in pixels, van het besturingselement.
Opmerkingen
De minimale hoogte is de som van nMin en twee keer de breedte, in pixels, van de verticale rand van het statusbalk besturingselement.
Example
m_wndSBC.SetMinHeight(40);
CStatusBarCtrl::SetParts
Hiermee stelt u het aantal onderdelen in een statusbalkbesturing en de coördinaat van de rechterrand van elk onderdeel in.
BOOL SetParts(
int nParts,
int* pWidths);
Parameterwaarden
nParts
Aantal onderdelen dat moet worden ingesteld. Het aantal onderdelen mag niet groter zijn dan 255.
pWidths
Adres van een geheel getalmatrix met hetzelfde aantal elementen als onderdelen die zijn opgegeven door nParts. Elk element in de matrix specificeert de positie in clientcoördinaten van de rechterrand van het bijbehorende deel. Als een element - 1 is, breidt de positie van de rechterrand voor dat deel zich uit tot de rechterrand van het besturingselement.
Retourwaarde
Niet-nul indien geslaagd; anders nul.
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
Hiermee geeft u op of een statusbalk besturingselement eenvoudige tekst weergeeft of alle besturingsonderdelen worden weergegeven die zijn ingesteld door een vorige aanroep naar SetParts.
BOOL SetSimple(BOOL bSimple = TRUE);
Parameterwaarden
bSimple
[in] Vlag voor weergavetype. Als deze parameter TRUE is, geeft het besturingselement eenvoudige tekst weer; als deze ONWAAR is, worden er meerdere onderdelen weergegeven.
Retourwaarde
Geeft altijd 0 terug.
Opmerkingen
Als uw toepassing het statusbalkbesturingselement wijzigt van niet-eenvoudig naar eenvoudig, of omgekeerd, wordt het besturingselement onmiddellijk opnieuw getekend.
CStatusBarCtrl::SetText
Hiermee stelt u de tekst in het opgegeven deel van een statusbalk besturingselement in.
BOOL SetText(
LPCTSTR lpszText,
int nPane,
int nType);
Parameterwaarden
lpszText
Adres van een door null beëindigde tekenreeks die de tekst opgeeft die moet worden ingesteld. Als nType SBT_OWNERDRAW is, vertegenwoordigt lpszText 32 bits aan gegevens.
nPane
Op nul gebaseerde index van het onderdeel dat moet worden ingesteld. Als deze waarde 255 is, wordt ervan uitgegaan dat het statusbalk besturingselement slechts één deel heeft.
nType
Type tekenbewerking. Zie SB_SETTEXT bericht voor een lijst met mogelijke waarden.
Retourwaarde
Niet-nul indien geslaagd; anders nul.
Opmerkingen
Het bericht ongeldig het gedeelte van het besturingselement dat is gewijzigd, waardoor de nieuwe tekst wordt weergegeven wanneer het besturingselement het volgende WM_PAINT bericht ontvangt.
Example
VERIFY(m_wndSBC.SetText(_T("Text For Pane 1"), 1, 0));
CStatusBarCtrl::SetTipText
Hiermee stelt u de knopinfotekst voor een deelvenster in een statusbalk in.
void SetTipText(
int nPane,
LPCTSTR pszTipText);
Parameterwaarden
nPane
De op nul gebaseerde index van het deelvenster Statusbalk om de knopinfotekst te ontvangen.
pszTipText
Een aanwijzer naar een tekenreeks met de knopinfotekst.
Opmerkingen
Deze lidfunctie implementeert het gedrag van het Win32-bericht SB_SETTIPTEXT, zoals beschreven in de Windows SDK.
Example
m_wndSBC.SetTipText(0, _T("This is Pane 0"));