CMFCStatusBar, classe
La CMFCStatusBar
classe implémente une barre d’état similaire à la CStatusBar
classe. Toutefois, la classe CMFCStatusBar
a des fonctionnalités que n'offre pas la classe CStatusBar
, telles que la capacité à afficher des images, des animations et des barres de progression et la possibilité de répondre aux doubles-clics de souris.
Pour plus d’informations, consultez le code source situé dans le dossier VC\atlmfc\src\mfc de votre installation de Visual Studio.
Syntaxe
class CMFCStatusBar : public CPane
Membres
Méthodes publiques
Nom | Description |
---|---|
CMFCStatusBar ::CalcFixedLayout | (Remplacements CBasePane ::CalcFixedLayout.) |
CMFCStatusBar ::CommandToIndex | |
CMFCStatusBar ::Create | Crée une barre de contrôle et l’attache à l’objet CPane . (Remplacements CPane ::Create.) |
CMFCStatusBar ::CreateEx | Crée une barre de contrôle et l’attache à l’objet CPane . (Remplacements CPane ::CreateEx.) |
CMFCStatusBar ::D oesAllowDynInsertBefore | Détermine si un autre volet peut être inséré dynamiquement entre ce volet et le cadre parent. (Remplacements CBasePane ::D oesAllowDynInsertBefore.) |
CMFCStatusBar ::EnablePaneDoubleClick | Active ou désactive la gestion des double-clics de la souris dans la barre d’état. |
CMFCStatusBar ::EnablePaneProgressBar | Affiche une barre de progression dans le volet spécifié. |
CMFCStatusBar ::GetCount | Retourne le nombre de volets dans la barre d’état. |
CMFCStatusBar ::GetDrawExtendedArea | |
CMFCStatusBar ::GetExtendedArea | |
CMFCStatusBar ::GetItemID | |
CMFCStatusBar ::GetItemRect | |
CMFCStatusBar ::GetPaneInfo | |
CMFCStatusBar ::GetPaneProgress | |
CMFCStatusBar ::GetPaneStyle | Retourne le style du volet. (Remplacements CBasePane ::GetPaneStyle.) |
CMFCStatusBar ::GetPaneText | |
CMFCStatusBar ::GetPaneWidth | Retourne la largeur, en pixels, du volet spécifié de la barre d’état. |
CMFCStatusBar ::GetTipText | Retourne le texte de l’info-bulle pour le volet spécifié de la barre d’état. |
CMFCStatusBar ::InvalidatePaneContent | Invalide le volet spécifié et redessine son contenu. |
CMFCStatusBar ::P reCreateWindow | Appelé par l’infrastructure avant la création de la fenêtre Windows attachée à cet CWnd objet. (Remplacements CWnd ::P reCreateWindow.) |
CMFCStatusBar ::SetDrawExtendedArea | |
CMFCStatusBar ::SetIndicators | |
CMFCStatusBar ::SetPaneAnimation | Affecte une animation au volet spécifié. |
CMFCStatusBar ::SetPaneBackgroundColor | Définit la couleur d’arrière-plan du volet spécifié de la barre d’état. |
CMFCStatusBar ::SetPaneIcon | Définit l’icône d’indicateur pour le volet spécifié de la barre d’état. |
CMFCStatusBar ::SetPaneInfo | |
CMFCStatusBar ::SetPaneProgress | Définit la progression actuelle de la barre de progression pour le volet spécifié de la barre d’état. |
CMFCStatusBar ::SetPaneStyle | Définit le style du volet. (Remplacements CBasePane ::SetPaneStyle.) |
CMFCStatusBar ::SetPaneText | |
CMFCStatusBar ::SetPaneTextColor | Définit la couleur de texte du volet spécifié de la barre d’état. |
CMFCStatusBar ::SetPaneWidth | Définit la largeur en pixels du volet spécifié de la barre d’état. |
CMFCStatusBar ::SetTipText | Définit le texte de l’info-bulle pour le volet spécifié de la barre d’état. |
Méthodes protégées
Nom | Description |
---|---|
CMFCStatusBar ::OnDrawPane | Appelé par l’infrastructure lorsqu’il redessine le volet de la barre d’état. |
Notes
Le diagramme suivant montre une figure de la barre d’état de l’exemple d’application De démonstration de barre d’état.
Exemples
L’exemple suivant illustre les variables locales utilisées par l’application pour appeler différentes méthodes dans la CMFCStatusBar
classe. Ces variables sont déclarées dans StatusBarDemoView.h. Le cadre principal est déclaré dans MainFrm.h, le document est déclaré dans StatusBarDemoDoc.h et l’affichage est déclaré dans StatusBarDemoView.h. Cet extrait de code fait partie de l’exemple de démonstration de la barre d’état.
int m_nProgressCurr;
BOOL m_bInProgress;
CImageList m_imlStatusAnimation;
BOOL m_bInAnimation;
CBitmap m_bmpIcon1;
CBitmap m_bmpIcon2;
L’exemple suivant montre comment obtenir une référence à CMFCStatusBar
un objet en introduisant la GetStatusBar
méthode dans MainFrm.h, puis en appelant cette méthode à partir de la GetStatusBar
méthode dans StatusBarDemoView.h. Cet extrait de code fait partie de l’exemple de démonstration de la barre d’état.
// in MainFrm.h
public:
CMFCStatusBar &GetStatusBar()
{
return m_wndStatusBar;
}
// in StatusBarDemoView.h
CMFCStatusBar &GetStatusBar() const
{
return ((CMainFrame *)AfxGetMainWnd())->GetStatusBar();
}
L’exemple suivant montre comment appeler différentes méthodes dans la CMFCStatusBar
classe dans StatusBarDemoView.cpp. Les constantes sont déclarées dans MainFrm.h. L’exemple montre comment définir l’icône, définir le texte de l’info-bulle du volet de barre d’état, afficher une barre de progression dans le volet spécifié, affecter une animation au volet spécifié, définir le texte et la largeur du volet de barre d’état et définir l’indicateur de progression actuel de la barre de progression pour le volet de barre d’état. Cet extrait de code fait partie de l’exemple de démonstration de la barre d’état.
// 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);
Hiérarchie d'héritage
Spécifications
En-tête : afxstatusbar.h
CMFCStatusBar ::CalcFixedLayout
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
Paramètres
[in] bStretch
[in] bHorz
Valeur de retour
Notes
CMFCStatusBar ::CommandToIndex
int CommandToIndex(UINT nIDFind) const;
Paramètres
[in] nIDFind
Valeur de retour
Notes
CMFCStatusBar ::Create
BOOL Create(
CWnd* pParentWnd,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
UINT nID = AFX_IDW_STATUS_BAR);
Paramètres
[in] pParentWnd
[in] dwStyle
[in] nID
Valeur de retour
Notes
CMFCStatusBar ::CreateEx
BOOL CreateEx(
CWnd* pParentWnd,
DWORD dwCtrlStyle = 0,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
UINT nID = AFX_IDW_STATUS_BAR);
Paramètres
[in] pParentWnd
[in] dwCtrlStyle
[in] dwStyle
[in] nID
Valeur de retour
Notes
CMFCStatusBar ::D oesAllowDynInsertBefore
virtual BOOL DoesAllowDynInsertBefore() const;
Valeur de retour
Notes
CMFCStatusBar ::EnablePaneDoubleClick
Active ou désactive la gestion des double-clics de la souris dans la barre d’état.
void EnablePaneDoubleClick(BOOL bEnable=TRUE);
Paramètres
bEnable
[in] Si la valeur est TRUE, activez le traitement de la souris double-cliquez. Sinon, désactivez le traitement du double-clic de la souris.
Notes
Si la barre d’état est activée pour traiter les double-clics, Windows envoie la notification WM_COMMAND avec un ID de ressource au propriétaire de la barre d’état chaque fois que l’utilisateur double-clique sur le volet de la barre d’état.
CMFCStatusBar ::EnablePaneProgressBar
Affichez une barre de progression dans le volet spécifié.
void EnablePaneProgressBar(
int nIndex,
long nTotal=100,
BOOL bDisplayText=FALSE,
COLORREF clrBar=-1,
COLORREF clrBarDest=-1,
COLORREF clrProgressText=-1);
Paramètres
nIndex
[in] Spécifie l’index du volet dont la barre de progression à activer.
nTotal
[in] Spécifie la valeur maximale de la barre de progression.
bDisplayText
[in] Spécifie si la barre de progression doit afficher la valeur de progression actuelle.
clrBar
[in] Spécifie la couleur d’arrière-plan de la barre de progression.
clrBarDest
[in] Spécifie la couleur secondaire de l’arrière-plan de la barre de progression. Utilisez une valeur différente de clrBar pour remplir une couleur fusionnée en dégradé.
clrProgressText
[in] Spécifie la couleur du texte de la barre de progression.
Notes
Si vous souhaitez désactiver l’appel EnablePaneProgressBar
de barre de progression avec nTotal défini sur -1. Par défaut , nTotal est défini sur 100. Par conséquent, vous n’avez pas besoin de calculs supplémentaires pour afficher la progression sous forme de pourcentage.
Vous devez passer différentes valeurs pour clrBar et clrBarDest afin que la couleur d’arrière-plan de la barre de progression affiche une couleur fusionnée en dégradé. .
Pour définir la progression actuelle, appelez la méthode CMFCStatusBar ::SetPaneProgress .
CMFCStatusBar ::GetCount
Récupère le nombre de volets dans la barre d’état.
int GetCount() const;
Valeur de retour
Nombre de volets dans la barre d’état.
CMFCStatusBar ::GetDrawExtendedArea
BOOL GetDrawExtendedArea() const;
Valeur de retour
Notes
CMFCStatusBar ::GetExtendedArea
virtual BOOL GetExtendedArea(CRect& rect) const;
Paramètres
[in] rect
Valeur de retour
Notes
CMFCStatusBar ::GetItemID
UINT GetItemID(int nIndex) const;
Paramètres
[in] nIndex
Valeur de retour
Notes
CMFCStatusBar ::GetItemRect
void GetItemRect(
int nIndex,
LPRECT lpRect) const;
Paramètres
[in] nIndex
[in] lpRect
Notes
CMFCStatusBar ::GetPaneInfo
void GetPaneInfo(
int nIndex,
UINT& nID,
UINT& nStyle,
int& cxWidth) const;
Paramètres
[in] nIndex
[in] nID
[in] nStyle
[in] cxWidth
Notes
CMFCStatusBar ::GetPaneProgress
long GetPaneProgress(int nIndex) const;
Paramètres
[in] nIndex
Valeur de retour
Notes
CMFCStatusBar ::GetPaneStyle
UINT GetPaneStyle(int nIndex) const;
Paramètres
[in] nIndex
Valeur de retour
Notes
CMFCStatusBar ::GetPaneText
void GetPaneText(
int nIndex,
CString& s) const;
CString GetPaneText(int nIndex) const;
Paramètres
[in] nIndex
[in] s
Valeur de retour
Notes
CMFCStatusBar ::GetPaneWidth
Récupère la largeur du volet d’une barre d’état.
int GetPaneWidth(int nIndex) const;
Paramètres
nIndex
[in] Spécifie l’index du volet de barre d’état.
Valeur de retour
Largeur du volet de la barre d’état spécifiée par nIndex ; sinon, zéro si un volet de barre d’état n’existe pas.
CMFCStatusBar ::GetTipText
Récupérez le texte de l’info-bulle du volet d’une barre d’état.
CString GetTipText(int nIndex) const;
Paramètres
nIndex
[in] Spécifie l’index du volet pour lequel récupérer le texte de l’info-bulle.
Valeur de retour
Texte d’info-bulle du volet de barre d’état spécifié par nIndex . Sinon, la chaîne vide si un volet de barre d’état n’existe pas pour le nIndex spécifié ou si son texte d’info-bulle est vide.
CMFCStatusBar ::InvalidatePaneContent
Invalidez le volet de la barre d’état et redessinez son contenu.
void InvalidatePaneContent(int nIndex);
Paramètres
nIndex
[in] Spécifie l’index du volet dont le contenu doit être invalidé et redessiné.
Notes
Lorsque la barre d’état est invalidée, elle est marquée pour redessiner. Windows le redessine lorsque la UpdateWindow
méthode envoie un message WM_PAINT à la OnPaint
méthode.
CMFCStatusBar ::OnDrawPane
Redessinez le volet de la barre d’état.
virtual void OnDrawPane(
CDC* pDC,
CMFCStatusBarPaneInfo* pPane);
Paramètres
pDC
[in] Pointeur vers un contexte d’appareil pour le dessin.
pPane
[in] Pointeur vers une CMFCStatusBarPaneInfo
structure qui contient les informations sur le volet à redessiner.
Notes
Par défaut, OnDrawPane
redessine le volet à l’aide du contrôleur de domaine de contexte de l’appareil en fonction du style et du contenu du volet.
Remplacez cette méthode dans une CMFCStatusBar
classe dérivée -pour personnaliser l’apparence d’un volet.
CMFCStatusBar ::P reCreateWindow
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
Paramètres
[in] Cs
Valeur de retour
Notes
CMFCStatusBar ::SetDrawExtendedArea
void SetDrawExtendedArea(BOOL bSet = TRUE);
Paramètres
[in] bSet
Notes
CMFCStatusBar ::SetIndicators
BOOL SetIndicators(
const UINT* lpIDArray,
int nIDCount);
Paramètres
[in] lpIDArray
[in] nIDCount
Valeur de retour
Notes
CMFCStatusBar ::SetPaneAnimation
Affecte une animation au volet spécifié.
void SetPaneAnimation(
int nIndex,
HIMAGELIST hImageList,
UINT nFrameRate=500,
BOOL bUpdate=TRUE);
Paramètres
nIndex
[in] Spécifie l’index du volet auquel vous souhaitez lui attribuer une animation.
hImageList
[in] Spécifie un handle de la liste d’images qui contient les trames d’animation.
nFrameRate
[in] Spécifie la fréquence d’images, en millisecondes, pour l’animation.
bUpdate
[in] Si la valeur est TRUE, mettez à jour immédiatement le contenu du volet. Sinon, le contenu du volet est mis à jour lorsqu’il est invalidé.
Notes
Si vous souhaitez désactiver l’animation actuelle, appelez SetPaneAnimation
avec hImageList
la valeur NULL définie sur NULL.
CMFCStatusBar ::SetPaneBackgroundColor
Définit la couleur d’arrière-plan du volet barre d’état.
void SetPaneBackgroundColor(
int nIndex,
COLORREF clrBackground=(COLORREF)-1,
BOOL bUpdate=TRUE);
Paramètres
nIndex
[in] Spécifie l’index du volet pour lequel définir une nouvelle couleur d’arrière-plan.
clrBackground
[in] Spécifie la nouvelle couleur d’arrière-plan.
bUpdate
[in] Si la valeur est TRUE, mettez à jour immédiatement le contenu du volet. Sinon, ne mettez pas à jour le contenu du volet tant que le volet n’est pas invalidé par une autre méthode.
CMFCStatusBar ::SetPaneIcon
Définissez l’icône du volet barre d’état.
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ètres
nIndex
[in] Spécifie l’index du volet pour lequel définir l’image.
hIcon
[in] Spécifie un handle sur l’icône à définir en tant qu’image de volet.
bUpdate
[in] Spécifie s’il faut mettre à jour immédiatement le contenu du volet.
hBmp
[in] Spécifie un handle pour la bitmap à définir en tant qu’image de volet.
clrTransparent
[in] Spécifie la couleur transparente de la bitmap que le hBmp indique.
Notes
Vous pouvez transmettre HICON ou HBITMAP avec la couleur transparente pour définir l’image du volet. Si vous ne souhaitez plus afficher l’image, transmettez la valeur NULL en tant que handle d’image.
S’il existe une animation en cours d’exécution définie par CMFCStatusBar ::SetPaneAnimation , l’animation est arrêtée.
CMFCStatusBar ::SetPaneInfo
void SetPaneInfo(
int nIndex,
UINT nID,
UINT nStyle,
int cxWidth);
Paramètres
[in] nIndex
[in] nID
[in] nStyle
[in] cxWidth
Notes
CMFCStatusBar ::SetPaneProgress
Définissez l’indicateur de progression actuel de la barre de progression pour le volet spécifié.
void SetPaneProgress(
int nIndex,
long nCurr,
BOOL bUpdate=TRUE);
Paramètres
nIndex
[in] Spécifie l’index du volet pour lequel mettre à jour l’indicateur de progression.
nCurr
[in] Spécifie la valeur actuelle de l’indicateur de progression.
bUpdate
[in] Spécifie si le volet doit être mis à jour immédiatement.
Notes
Appelez cette méthode lorsque vous souhaitez mettre à jour l’indicateur de progression de la barre de progression dans le volet spécifié.
Pour utiliser cette fonction pour le volet donné, vous devez d’abord appeler CMFCStatusBar ::EnablePaneProgressBar .
CMFCStatusBar ::SetPaneStyle
void SetPaneStyle(
int nIndex,
UINT nStyle);
Paramètres
[in] nIndex
[in] nStyle
Notes
CMFCStatusBar ::SetPaneText
virtual BOOL SetPaneText(
int nIndex,
LPCTSTR lpszNewText,
BOOL bUpdate = TRUE);
Paramètres
[in] nIndex
[in] lpszNewText
[in] bUpdate
Valeur de retour
Notes
CMFCStatusBar ::SetPaneTextColor
Définit la couleur de texte du volet spécifié.
void SetPaneTextColor(
int nIndex,
COLORREF clrText=(COLORREF)-1,
BOOL bUpdate=TRUE);
Paramètres
nIndex
[in] Spécifie l’index du volet auquel vous souhaitez affecter une nouvelle couleur de texte.
clrText
[in] Spécifie la couleur du texte.
bUpdate
[in] Si la valeur est TRUE, mettez à jour immédiatement le contenu du volet. Sinon, ne mettez pas à jour le contenu du volet tant que le volet n’est pas invalidé par une autre méthode.
CMFCStatusBar ::SetPaneWidth
Définissez la largeur du volet de la barre d’état.
void SetPaneWidth(
int nIndex,
int cx);
Paramètres
nIndex
[in] Index du volet de barre d’état pour lequel définir une nouvelle largeur.
cx
[in] Nouvelle largeur du volet de barre d’état, en pixels.
CMFCStatusBar ::SetTipText
Définissez le texte de l’info-bulle d’un volet de barre d’état.
void SetTipText(
int nIndex,
LPCTSTR pszTipText);
Paramètres
nIndex
[in] Index du volet auquel vous souhaitez affecter le texte de l’info-bulle.
pszTipText
[in] Nouveau texte d’info-bulle.
Voir aussi
Graphique hiérarchique
Classes
CPane, classe
CStatusBar, classe