Partager via


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.

Exemple de CMFCStatusBar.

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

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCStatusBar

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