Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa CMFCStatusBar implementuje pasek stanu podobny do CStatusBar klasy. Jednak CMFCStatusBar klasa ma funkcje nieoferowane przez klasę CStatusBar , takie jak możliwość wyświetlania obrazów, animacji i pasków postępu oraz możliwość reagowania na dwukrotne kliknięcia myszy.
Aby uzyskać więcej informacji, zobacz kod źródłowy znajdujący się w folderze VC\atlmfc\src\mfc instalacji programu Visual Studio.
Składnia
class CMFCStatusBar : public CPane
Elementy członkowskie
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
| CMFCStatusBar::CalcFixedLayout | (Przesłonięcia) CBasePane::CalcFixedLayout). |
| CMFCStatusBar::CommandToIndex | |
| CMFCStatusBar::Create | Tworzy pasek sterowania i dołącza go do obiektu CPane . (Przesłonięcia) CPane::Create.) |
| CMFCStatusBar::CreateEx | Tworzy pasek sterowania i dołącza go do obiektu CPane . (Przesłonięcia) CPane::CreateEx.) |
| CMFCStatusBar::D oesAllowDynInsertBefore | Określa, czy inne okienko może być dynamicznie wstawione między tym okienkem a ramką nadrzędną. (Przesłonięcia) CBasePane::D oesAllowDynInsertBefore. |
| CMFCStatusBar::EnablePaneDoubleClick | Włącza lub wyłącza obsługę dwukrotnego kliknięcia myszy na pasku stanu. |
| CMFCStatusBar::EnablePaneProgressBar | Wyświetla pasek postępu w określonym okienku. |
| CMFCStatusBar::GetCount | Zwraca liczbę okienek na pasku stanu. |
| CMFCStatusBar::GetDrawExtendedArea | |
| CMFCStatusBar::GetExtendedArea | |
| CMFCStatusBar::GetItemID | |
| CMFCStatusBar::GetItemRect | |
| CMFCStatusBar::GetPaneInfo | |
| CMFCStatusBar::GetPaneProgress | |
| CMFCStatusBar::GetPaneStyle | Zwraca styl okienka. (Przesłonięcia) CBasePane::GetPaneStyle.) |
| CMFCStatusBar::GetPaneText | |
| CMFCStatusBar::GetPaneWidth | Zwraca szerokość w pikselach określonego okienka paska stanu. |
| CMFCStatusBar::GetTipText | Zwraca tekst porad narzędzia dla określonego okienka paska stanu. |
| CMFCStatusBar::InvalidatePaneContent | Unieważnia określone okienko i ponownie rysuje jego zawartość. |
| CMFCStatusBar::P reCreateWindow | Wywoływana przez platformę przed utworzeniem okna systemu Windows dołączonego do tego CWnd obiektu. (Przesłonięcia) CWnd::P reCreateWindow. |
| CMFCStatusBar::SetDrawExtendedArea | |
| CMFCStatusBar::SetIndicators | |
| CMFCStatusBar::SetPaneAnimation | Przypisuje animację do określonego okienka. |
| CMFCStatusBar::SetPaneBackgroundColor | Ustawia kolor tła dla określonego okienka paska stanu. |
| CMFCStatusBar::SetPaneIcon | Ustawia ikonę wskaźnika dla określonego okienka paska stanu. |
| CMFCStatusBar::SetPaneInfo | |
| CMFCStatusBar::SetPaneProgress | Ustawia bieżący postęp paska postępu dla określonego okienka paska stanu. |
| CMFCStatusBar::SetPaneStyle | Ustawia styl okienka. (Przesłonięcia) CBasePane::SetPaneStyle.) |
| CMFCStatusBar::SetPaneText | |
| CMFCStatusBar::SetPaneTextColor | Ustawia kolor tekstu dla określonego okienka paska stanu. |
| CMFCStatusBar::SetPaneWidth | Ustawia szerokość w pikselach określonego okienka paska stanu. |
| CMFCStatusBar::SetTipText | Ustawia tekst porad narzędzia dla określonego okienka paska stanu. |
Metody chronione
| Nazwa/nazwisko | opis |
|---|---|
| CMFCStatusBar::OnDrawPane | Wywoływana przez platformę podczas ponownego rysowania okienka paska stanu. |
Uwagi
Na poniższym diagramie przedstawiono rysunek paska stanu z przykładowej aplikacji pokazu paska stanu.

Przykłady
W poniższym przykładzie pokazano zmienne lokalne, których aplikacja używa do wywoływania różnych metod w CMFCStatusBar klasie. Te zmienne są deklarowane w pliku StatusBarDemoView.h. Ramka główna jest zadeklarowana w pliku MainFrm.h. Dokument jest zadeklarowany w pliku StatusBarDemoDoc.h, a widok jest zadeklarowany w pliku StatusBarDemoView.h. Ten fragment kodu jest częścią przykładu pokazu paska stanu.
int m_nProgressCurr;
BOOL m_bInProgress;
CImageList m_imlStatusAnimation;
BOOL m_bInAnimation;
CBitmap m_bmpIcon1;
CBitmap m_bmpIcon2;
W poniższym przykładzie pokazano, jak uzyskać odwołanie do CMFCStatusBar obiektu, wprowadzając GetStatusBar metodę w pliku MainFrm.h, a następnie wywołując tę metodę z GetStatusBar metody w pliku StatusBarDemoView.h. Ten fragment kodu jest częścią przykładu pokazu paska stanu.
// in MainFrm.h
public:
CMFCStatusBar &GetStatusBar()
{
return m_wndStatusBar;
}
// in StatusBarDemoView.h
CMFCStatusBar &GetStatusBar() const
{
return ((CMainFrame *)AfxGetMainWnd())->GetStatusBar();
}
W poniższym przykładzie pokazano, jak wywołać różne metody w CMFCStatusBar klasie w StatusBarDemoView.cpp. Stałe są deklarowane w pliku MainFrm.h. W przykładzie pokazano, jak ustawić ikonę, ustawić tekst etykietki narzędzia okienka paska stanu, wyświetlić pasek postępu w określonym okienku, przypisać animację do określonego okienka, ustawić tekst i szerokość okienka paska stanu oraz ustawić bieżący wskaźnik postępu paska postępu dla okienka paska stanu. Ten fragment kodu jest częścią przykładu pokazu paska stanu.
// 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);
Hierarchia dziedziczenia
Wymagania
Nagłówek: afxstatusbar.h
CMFCStatusBar::CalcFixedLayout
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
Parametry
[in] bStretch
[in] bHorz
Wartość zwracana
Uwagi
CMFCStatusBar::CommandToIndex
int CommandToIndex(UINT nIDFind) const;
Parametry
[in] nIDFind
Wartość zwracana
Uwagi
CMFCStatusBar::Create
BOOL Create(
CWnd* pParentWnd,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
UINT nID = AFX_IDW_STATUS_BAR);
Parametry
[in] pParentWnd
[in] dwStyle
[in] Nid
Wartość zwracana
Uwagi
CMFCStatusBar::CreateEx
BOOL CreateEx(
CWnd* pParentWnd,
DWORD dwCtrlStyle = 0,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
UINT nID = AFX_IDW_STATUS_BAR);
Parametry
[in] pParentWnd
[in] dwCtrlStyle
[in] dwStyle
[in] Nid
Wartość zwracana
Uwagi
CMFCStatusBar::D oesAllowDynInsertBefore
virtual BOOL DoesAllowDynInsertBefore() const;
Wartość zwracana
Uwagi
CMFCStatusBar::EnablePaneDoubleClick
Włącza lub wyłącza obsługę dwukrotnego kliknięcia myszy na pasku stanu.
void EnablePaneDoubleClick(BOOL bEnable=TRUE);
Parametry
bEnable
[in] Jeśli wartość TRUE, włącz przetwarzanie myszy dwukrotnie. W przeciwnym razie wyłącz przetwarzanie myszy dwukrotnie kliknij.
Uwagi
Jeśli pasek stanu jest włączony do przetwarzania dwukrotnie kliknięć, system Windows wysyła powiadomienie WM_COMMAND wraz z identyfikatorem zasobu do właściciela paska stanu za każdym razem, gdy użytkownik dwukrotnie kliknie okienko paska stanu.
CMFCStatusBar::EnablePaneProgressBar
Wyświetl pasek postępu w określonym okienku.
void EnablePaneProgressBar(
int nIndex,
long nTotal=100,
BOOL bDisplayText=FALSE,
COLORREF clrBar=-1,
COLORREF clrBarDest=-1,
COLORREF clrProgressText=-1);
Parametry
nIndex
[in] Określa indeks okienka, którego pasek postępu ma być włączony.
nTotal
[in] Określa maksymalną wartość paska postępu.
bDisplayText
[in] Określa, czy pasek postępu powinien wyświetlać bieżącą wartość postępu.
clrBar
[in] Określa kolor tła paska postępu.
clrBarDest
[in] Określa pomocniczy kolor tła paska postępu. Użyj innej wartości niż clrBar , aby wypełnić kolor w połączeniu z gradientem.
clrProgressText
[in] Określa kolor tekstu paska postępu.
Uwagi
Jeśli chcesz wyłączyć wywołanie EnablePaneProgressBar paska postępu z wartością nTotal ustawioną na -1. Domyślnie wartość nTotal jest ustawiona na 100. W związku z tym nie potrzebujesz żadnych dodatkowych obliczeń, aby wyświetlić postęp jako wartość procentową.
Należy przekazać różne wartości dla clrBar i clrBarDest , aby kolor tła paska postępu wyświetlał kolor w połączeniu z gradientem. .
Aby ustawić bieżący postęp, wywołaj metodę CMFCStatusBar::SetPaneProgress .
CMFCStatusBar::GetCount
Pobiera liczbę okienek na pasku stanu.
int GetCount() const;
Wartość zwracana
Liczba okienek na pasku stanu.
CMFCStatusBar::GetDrawExtendedArea
BOOL GetDrawExtendedArea() const;
Wartość zwracana
Uwagi
CMFCStatusBar::GetExtendedArea
virtual BOOL GetExtendedArea(CRect& rect) const;
Parametry
[in] Rect
Wartość zwracana
Uwagi
CMFCStatusBar::GetItemID
UINT GetItemID(int nIndex) const;
Parametry
[in] nIndex
Wartość zwracana
Uwagi
CMFCStatusBar::GetItemRect
void GetItemRect(
int nIndex,
LPRECT lpRect) const;
Parametry
[in] nIndex
[in] lpRect
Uwagi
CMFCStatusBar::GetPaneInfo
void GetPaneInfo(
int nIndex,
UINT& nID,
UINT& nStyle,
int& cxWidth) const;
Parametry
[in] nIndex
[in] Nid
[in] nStyle
[in] cxWidth
Uwagi
CMFCStatusBar::GetPaneProgress
long GetPaneProgress(int nIndex) const;
Parametry
[in] nIndex
Wartość zwracana
Uwagi
CMFCStatusBar::GetPaneStyle
UINT GetPaneStyle(int nIndex) const;
Parametry
[in] nIndex
Wartość zwracana
Uwagi
CMFCStatusBar::GetPaneText
void GetPaneText(
int nIndex,
CString& s) const;
CString GetPaneText(int nIndex) const;
Parametry
[in] nIndex
[in] s
Wartość zwracana
Uwagi
CMFCStatusBar::GetPaneWidth
Pobiera szerokość okienka paska stanu.
int GetPaneWidth(int nIndex) const;
Parametry
nIndex
[in] Określa indeks okienka paska stanu.
Wartość zwracana
Szerokość okienka paska stanu, które nIndex określa; w przeciwnym razie zero, jeśli okienko paska stanu nie istnieje.
CMFCStatusBar::GetTipText
Pobierz tekst etykietki narzędzia okienka paska stanu.
CString GetTipText(int nIndex) const;
Parametry
nIndex
[in] Określa indeks okienka, dla którego ma być pobierany tekst porad narzędzia.
Wartość zwracana
Tekst etykietki narzędzia okienka paska stanu, który określa nIndex . W przeciwnym razie pusty ciąg, jeśli okienko paska stanu nie istnieje dla określonego nIndex lub jeśli jego tekst etykietki narzędzia jest pusty.
CMFCStatusBar::InvalidatePaneContent
Unieważnij okienko paska stanu i ponownie rysuj jego zawartość.
void InvalidatePaneContent(int nIndex);
Parametry
nIndex
[in] Określa indeks okienka, którego zawartość ma być unieważniona i ponownie rysowana.
Uwagi
Gdy pasek stanu zostanie unieważniony, zostanie oznaczony do ponownego narysowania. System Windows ponownie rysuje go, gdy UpdateWindow metoda wysyła komunikat WM_PAINT do OnPaint metody .
CMFCStatusBar::OnDrawPane
Ponownie rysuj okienko paska stanu.
virtual void OnDrawPane(
CDC* pDC,
CMFCStatusBarPaneInfo* pPane);
Parametry
PDC
[in] Wskaźnik do kontekstu urządzenia do rysowania.
PPane
[in] Wskaźnik do CMFCStatusBarPaneInfo struktury zawierającej informacje o okienku, które mają zostać ponownie rysowane.
Uwagi
Domyślnie OnDrawPane ponownie rysuje okienko przy użyciu kontekstu urządzenia pDC zgodnie ze stylem i zawartością okienka.
Zastąp tę metodę w klasie pochodnej CMFCStatusBar, aby dostosować wygląd okienka.
CMFCStatusBar::P reCreateWindow
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
Parametry
[in] Cs
Wartość zwracana
Uwagi
CMFCStatusBar::SetDrawExtendedArea
void SetDrawExtendedArea(BOOL bSet = TRUE);
Parametry
[in] Zestaw bSet
Uwagi
CMFCStatusBar::SetIndicators
BOOL SetIndicators(
const UINT* lpIDArray,
int nIDCount);
Parametry
[in] lpIDArray
[in] nIDCount
Wartość zwracana
Uwagi
CMFCStatusBar::SetPaneAnimation
Przypisuje animację do określonego okienka.
void SetPaneAnimation(
int nIndex,
HIMAGELIST hImageList,
UINT nFrameRate=500,
BOOL bUpdate=TRUE);
Parametry
nIndex
[in] Określa indeks okienka, do którego chcesz przypisać do niego animację.
hImageList
[in] Określa dojście do listy obrazów, która zawiera ramki animacji.
nFrameRate
[in] Określa szybkość klatek w milisekundach dla animacji.
bUpdate
[in] Jeśli wartość TRUE, zaktualizuj zawartość okienka natychmiast. W przeciwnym razie zawartość okienka zostanie zaktualizowana po jej unieważnieniu.
Uwagi
Jeśli chcesz wyłączyć bieżącą animację, wywołaj metodę SetPaneAnimation z ustawioną wartością hImageList NULL.
CMFCStatusBar::SetPaneBackgroundColor
Ustawia kolor tła okienka paska stanu.
void SetPaneBackgroundColor(
int nIndex,
COLORREF clrBackground=(COLORREF)-1,
BOOL bUpdate=TRUE);
Parametry
nIndex
[in] Określa indeks okienka, dla którego ma być ustawiony nowy kolor tła.
clrBackground
[in] Określa nowy kolor tła.
bUpdate
[in] Jeśli wartość TRUE, zaktualizuj zawartość okienka natychmiast. W przeciwnym razie nie aktualizuj zawartości okienka, dopóki okienko nie zostanie unieważnione przez inną metodę.
CMFCStatusBar::SetPaneIcon
Ustaw ikonę okienka paska stanu.
void SetPaneIcon(
int nIndex,
HICON hIcon,
BOOL bUpdate=TRUE);
void SetPaneIcon(
int nIndex,
HBITMAP hBmp,
COLORREF clrTransparent=RGB(255, 0, 255),
BOOL bUpdate=TRUE);
Parametry
nIndex
[in] Określa indeks okienka, dla którego ma być ustawiony obraz.
hIcon
[in] Określa uchwyt do ikony, który ma zostać ustawiony jako obraz okienka.
bUpdate
[in] Określa, czy zawartość okienka ma być aktualizowana natychmiast.
hBmp
[in] Określa uchwyt mapy bitowej, który ma być ustawiony jako obraz okienka.
clrTransparent
[in] Określa przezroczysty kolor mapy bitowej, który wskazuje hBmp .
Uwagi
Możesz przekazać kod HICON lub HBITMAP wraz z przezroczystym kolorem, aby ustawić obraz okienka. Jeśli nie chcesz już wyświetlać obrazu, przekaż wartość NULL jako uchwyt obrazu.
Jeśli ustawiono dowolną uruchomioną animację CMFCStatusBar::SetPaneAnimation , animacja zostanie zatrzymana.
CMFCStatusBar::SetPaneInfo
void SetPaneInfo(
int nIndex,
UINT nID,
UINT nStyle,
int cxWidth);
Parametry
[in] nIndex
[in] Nid
[in] nStyle
[in] cxWidth
Uwagi
CMFCStatusBar::SetPaneProgress
Ustaw bieżący wskaźnik postępu paska postępu dla określonego okienka.
void SetPaneProgress(
int nIndex,
long nCurr,
BOOL bUpdate=TRUE);
Parametry
nIndex
[in] Określa indeks okienka, dla którego ma być aktualizowany wskaźnik postępu.
nCurr
[in] Określa bieżącą wartość wskaźnika postępu.
bUpdate
[in] Określa, czy okienko ma zostać natychmiast zaktualizowane.
Uwagi
Wywołaj tę metodę, jeśli chcesz zaktualizować wskaźnik postępu dla paska postępu w określonym okienku.
Aby użyć tej funkcji dla danego okienka, najpierw należy wywołać polecenie CMFCStatusBar::EnablePaneProgressBar .
CMFCStatusBar::SetPaneStyle
void SetPaneStyle(
int nIndex,
UINT nStyle);
Parametry
[in] nIndex
[in] nStyle
Uwagi
CMFCStatusBar::SetPaneText
virtual BOOL SetPaneText(
int nIndex,
LPCTSTR lpszNewText,
BOOL bUpdate = TRUE);
Parametry
[in] nIndex
[in] lpszNewText
[in] bUpdate
Wartość zwracana
Uwagi
CMFCStatusBar::SetPaneTextColor
Ustawia kolor tekstu określonego okienka.
void SetPaneTextColor(
int nIndex,
COLORREF clrText=(COLORREF)-1,
BOOL bUpdate=TRUE);
Parametry
nIndex
[in] Określa indeks okienka, do którego chcesz przypisać nowy kolor tekstu.
clrText
[in] Określa kolor tekstu.
bUpdate
[in] Jeśli wartość TRUE, zaktualizuj zawartość okienka natychmiast. W przeciwnym razie nie aktualizuj zawartości okienka, dopóki okienko nie zostanie unieważnione przez inną metodę.
CMFCStatusBar::SetPaneWidth
Ustaw szerokość okienka paska stanu.
void SetPaneWidth(
int nIndex,
int cx);
Parametry
nIndex
[in] Indeks okienka paska stanu, dla którego ma być ustawiona nowa szerokość.
cx
[in] Nowa szerokość okienka paska stanu w pikselach.
CMFCStatusBar::SetTipText
Ustaw tekst etykietki narzędzia okienka paska stanu.
void SetTipText(
int nIndex,
LPCTSTR pszTipText);
Parametry
nIndex
[in] Indeks okienka, do którego chcesz przypisać tekst etykietki narzędzia.
pszTipText
[in] Nowy tekst etykietki narzędzia.