Klasa CStatusBar
Pasek sterowania z wierszem okienek wyjściowych tekstu lub "wskaźnikami".
Składnia
class CStatusBar : public CControlBar
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CStatusBar::CStatusBar | CStatusBar Tworzy obiekt. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CStatusBar::CommandToIndex | Pobiera indeks dla danego identyfikatora wskaźnika. |
CStatusBar::Create | Tworzy pasek stanu, dołącza go do CStatusBar obiektu i ustawia początkową czcionkę i wysokość paska. |
CStatusBar::CreateEx | Tworzy CStatusBar obiekt z dodatkowymi stylami dla obiektu osadzonego CStatusBarCtrl . |
CStatusBar::D rawItem | Wywoływana, gdy zmienia się wizualny aspekt kontrolki paska stanu rysowania właściciela. |
CStatusBar::GetItemID | Pobiera identyfikator wskaźnika dla danego indeksu. |
CStatusBar::GetItemRect | Pobiera prostokąt wyświetlania dla danego indeksu. |
CStatusBar::GetPaneInfo | Pobiera identyfikator wskaźnika, styl i szerokość dla danego indeksu. |
CStatusBar::GetPaneStyle | Pobiera styl wskaźnika dla danego indeksu. |
CStatusBar::GetPaneText | Pobiera tekst wskaźnika dla danego indeksu. |
CStatusBar::GetStatusBarCtrl | Umożliwia bezpośredni dostęp do podstawowej wspólnej kontroli. |
CStatusBar::SetIndicators | Ustawia identyfikatory wskaźników. |
CStatusBar::SetPaneInfo | Ustawia identyfikator wskaźnika, styl i szerokość dla danego indeksu. |
CStatusBar::SetPaneStyle | Ustawia styl wskaźnika dla danego indeksu. |
CStatusBar::SetPaneText | Ustawia tekst wskaźnika dla danego indeksu. |
Uwagi
Okienka danych wyjściowych są często używane jako wiersze komunikatów i wskaźniki stanu. Przykłady obejmują wiersze komunikatów pomocy menu, które krótko wyjaśniają wybrane polecenie menu i wskaźniki, które pokazują stan SCROLL LOCK, NUM LOCK i innych kluczy.
CStatusBar::GetStatusBarCtrl, funkcja składowa nowa dla MFC 4.0, umożliwia korzystanie z obsługi wspólnego formantu systemu Windows na potrzeby dostosowywania paska stanu i dodatkowych funkcji. CStatusBar
funkcje członkowskie zapewniają większość funkcji typowych kontrolek systemu Windows; jednak po wywołaniu GetStatusBarCtrl
metody można nadać pasków stanu jeszcze więcej cech paska stanu systemu Windows 95/98. Wywołanie GetStatusBarCtrl
metody spowoduje zwrócenie odwołania do CStatusBarCtrl
obiektu. Zobacz CStatusBarCtrl , aby uzyskać więcej informacji na temat projektowania pasków narzędzi przy użyciu typowych kontrolek systemu Windows. Aby uzyskać więcej ogólnych informacji na temat typowych kontrolek, zobacz Common Controls in the Windows SDK (Typowe kontrolki w zestawie Windows SDK).
Struktura przechowuje informacje o wskaźnikach w tablicy z najbardziej lewym wskaźnikiem na pozycji 0. Podczas tworzenia paska stanu należy użyć tablicy identyfikatorów ciągów, które platforma kojarzy z odpowiednimi wskaźnikami. Następnie możesz użyć identyfikatora ciągu lub indeksu, aby uzyskać dostęp do wskaźnika.
Domyślnie pierwszy wskaźnik to "elastic": zajmuje długość paska stanu, która nie jest używana przez inne okienka wskaźników, dzięki czemu pozostałe okienka są wyrównane do prawej strony.
Aby utworzyć pasek stanu, wykonaj następujące kroki:
Skonstruuj
CStatusBar
obiekt.Wywołaj funkcję Create (lub CreateEx), aby utworzyć okno paska stanu i dołączyć je do
CStatusBar
obiektu.Wywołaj metodę SetIndicators , aby skojarzyć identyfikator ciągu z każdym wskaźnikiem.
Istnieją trzy sposoby aktualizowania tekstu w okienku paska stanu:
Wywołaj metodę CWnd::SetWindowText , aby zaktualizować tekst tylko w okienku 0.
Wywołaj metodę CCmdUI::SetText w programie obsługi ON_UPDATE_COMMAND_UI paska stanu.
Wywołaj metodę SetPaneText , aby zaktualizować tekst dla dowolnego okienka.
Wywołaj metodę SetPaneStyle , aby zaktualizować styl okienka paska stanu.
Aby uzyskać więcej informacji na temat korzystania z programu CStatusBar
, zobacz artykuł Implementacja paska stanu w MFC i Uwaga techniczna 31 : Paski sterowania.
Hierarchia dziedziczenia
CStatusBar
Wymagania
Nagłówek: afxext.h
CStatusBar::CommandToIndex
Pobiera indeks wskaźnika dla danego identyfikatora.
int CommandToIndex(UINT nIDFind) const;
Parametry
nIDFind
Identyfikator ciągu wskaźnika, którego indeks ma zostać pobrany.
Wartość zwracana
Indeks wskaźnika, jeśli się powiedzie; -1, jeśli nie powiedzie się.
Uwagi
Indeks pierwszego wskaźnika wynosi 0.
CStatusBar::Create
Tworzy pasek stanu (okno podrzędne) i kojarzy go z obiektem CStatusBar
.
virtual BOOL Create(
CWnd* pParentWnd,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
UINT nID = AFX_IDW_STATUS_BAR);
Parametry
pParentWnd
Wskaźnik do obiektu CWnd , którego okno systemu Windows jest elementem nadrzędnym paska stanu.
dwStyle
Styl paska stanu. Oprócz standardowych stylów systemu Windows obsługiwane są te style.
pasek sterowania CBRS_TOP znajduje się w górnej części okna ramki.
CBRS_BOTTOM Pasek sterowania znajduje się w dolnej części okna ramki.
CBRS_NOALIGN pasek sterowania nie jest zmieniany po zmianie rozmiaru elementu nadrzędnego.
Nid
Identyfikator okna podrzędnego paska narzędzi.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Ustawia również czcionkę początkową i ustawia wysokość paska stanu na wartość domyślną.
CStatusBar::CreateEx
Wywołaj tę funkcję, aby utworzyć pasek stanu (okno podrzędne) i skojarzyć go z obiektem CStatusBar
.
virtual BOOL CreateEx(
CWnd* pParentWnd,
DWORD dwCtrlStyle = 0,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
UINT nID = AFX_IDW_STATUS_BAR);
Parametry
pParentWnd
Wskaźnik do obiektu CWnd , którego okno systemu Windows jest elementem nadrzędnym paska stanu.
dwCtrlStyle
Dodatkowe style tworzenia osadzonego obiektu CStatusBarCtrl . Wartość domyślna określa pasek stanu bez uchwytu rozmiaru lub obsługi etykietki narzędzia. Obsługiwane style paska stanu to:
SBARS_SIZEGRIP Kontrolka paska stanu zawiera uchwyt rozmiaru po prawej stronie paska stanu. Uchwyt rozmiaru jest podobny do obramowania rozmiaru; jest to prostokątny obszar, który użytkownik może kliknąć i przeciągnąć, aby zmienić rozmiar okna nadrzędnego.
SBT_TOOLTIPS Pasek stanu obsługuje etykietki narzędzi.
Aby uzyskać szczegółowe informacje na temat tych stylów, zobacz Ustawienia dla CStatusBarCtrl.
dwStyle
Styl paska stanu. Wartość domyślna określa, że widoczny pasek stanu zostanie utworzony w dolnej części okna ramki. Zastosuj dowolną kombinację stylów kontrolek paska stanu wymienionych w stylach okien i CDialogBar::Create. Jednak ten parametr powinien zawsze zawierać style WS_CHILD i WS_VISIBLE.
Nid
Identyfikator okna podrzędnego paska stanu.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Ta funkcja ustawia również czcionkę początkową i ustawia wysokość paska stanu na wartość domyślną.
Użyj polecenia CreateEx
, a nie utwórz, jeśli podczas tworzenia osadzonej kontrolki paska stanu muszą być obecne określone style. Na przykład ustaw wartość dwCtrlStyle na SBT_TOOLTIPS, aby wyświetlić etykietki narzędzi w obiekcie paska stanu.
CStatusBar::CStatusBar
CStatusBar
Tworzy obiekt, tworzy domyślną czcionkę paska stanu w razie potrzeby i ustawia właściwości czcionki na wartości domyślne.
CStatusBar();
CStatusBar::D rawItem
Ta funkcja składowa jest wywoływana przez platformę, gdy zmienia się wizualny aspekt paska stanu narysowanego przez właściciela.
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
Parametry
lpDrawItem, struktura
Wskaźnik do struktury DRAWITEMSTRUCT , która zawiera informacje o wymaganym typie rysunku.
Uwagi
Element itemAction
członkowski DRAWITEMSTRUCT
struktury definiuje akcję rysunku, która ma zostać wykonana. Zastąpi tę funkcję składową, aby zaimplementować rysunek dla obiektu rysowania CStatusBar
właściciela. Aplikacja powinna przywrócić wszystkie obiekty interfejsu urządzenia graficznego (GDI) wybrane dla kontekstu wyświetlania podanego w lpDrawItemStruct przed zakończeniem tej funkcji składowej.
CStatusBar::GetItemID
Zwraca identyfikator wskaźnika określonego przez nIndex.
UINT GetItemID(int nIndex) const;
Parametry
nIndex
Indeks wskaźnika, którego identyfikator ma zostać pobrany.
Wartość zwracana
Identyfikator wskaźnika określonego przez nIndex.
CStatusBar::GetItemRect
Kopiuje współrzędne wskaźnika określonego przez nIndex do struktury wskazywanej przez lpRect.
void GetItemRect(
int nIndex,
LPRECT lpRect) const;
Parametry
nIndex
Indeks wskaźnika, którego współrzędne prostokąta mają zostać pobrane.
lpRect
Wskazuje strukturę RECT lub obiekt CRect, który otrzyma współrzędne wskaźnika określonego przez nIndex.
Uwagi
Współrzędne znajdują się w pikselach względem lewego górnego rogu paska stanu.
CStatusBar::GetPaneInfo
Ustawia wartości nID, nStyle i cxWidth na identyfikator, styl i szerokość okienka wskaźnika w lokalizacji określonej przez nIndex.
void GetPaneInfo(
int nIndex,
UINT& nID,
UINT& nStyle,
int& cxWidth) const;
Parametry
nIndex
Indeks okienka, którego informacje mają zostać pobrane.
Nid
Odwołanie do interfejsu UINT ustawionego na identyfikator okienka.
nStyle
Odwołanie do interfejsu UINT ustawionego na styl okienka.
cxWidth
Odwołanie do liczby całkowitej ustawionej na szerokość okienka.
CStatusBar::GetPaneStyle
Wywołaj tę funkcję składową, aby pobrać styl okienka paska stanu.
UINT GetPaneStyle(int nIndex) const;
Parametry
nIndex
Indeks okienka, którego styl ma zostać pobrany.
Wartość zwracana
Styl okienka paska stanu określony przez nIndex.
Uwagi
Styl okienka określa sposób wyświetlania okienka.
Aby uzyskać listę stylów dostępnych dla pasków stanu, zobacz Tworzenie.
CStatusBar::GetPaneText
Wywołaj tę funkcję składową, aby pobrać tekst wyświetlany w okienku paska stanu.
CString GetPaneText(int nIndex) const; void GetPaneText(int nIndex, CString& rString) const;
Parametry
nIndex
Indeks okienka, którego tekst ma zostać pobrany.
rString
Odwołanie do obiektu CString zawierającego tekst do pobrania.
Wartość zwracana
CString
Obiekt zawierający tekst okienka.
Uwagi
Druga forma tej funkcji składowej wypełnia CString
obiekt tekstem ciągu.
CStatusBar::GetStatusBarCtrl
Ta funkcja składowa umożliwia bezpośredni dostęp do podstawowej wspólnej kontroli.
CStatusBarCtrl& GetStatusBarCtrl() const;
Wartość zwracana
Zawiera odwołanie do obiektu CStatusBarCtrl .
Uwagi
Użyj GetStatusBarCtrl
polecenia , aby skorzystać z funkcji wspólnej kontrolki paska stanu systemu Windows i skorzystać z obsługi CStatusBarCtrl zapewnia dostosowywanie paska stanu. Na przykład za pomocą wspólnej kontrolki można określić styl zawierający uchwyt rozmiaru na pasku stanu lub określić styl, aby pasek stanu był wyświetlany w górnej części obszaru klienta okna nadrzędnego.
Aby uzyskać więcej ogólnych informacji na temat typowych kontrolek, zobacz Common Controls in the Windows SDK (Typowe kontrolki w zestawie Windows SDK).
CStatusBar::SetIndicators
Ustawia identyfikator każdego wskaźnika na wartość określoną przez odpowiedni element tablicy lpIDArray, ładuje zasób ciągu określony przez każdy identyfikator i ustawia tekst wskaźnika na ciąg.
BOOL SetIndicators(
const UINT* lpIDArray,
int nIDCount);
Parametry
lpIDArray
Wskaźnik do tablicy identyfikatorów.
nIDCount
Liczba elementów w tablicy wskazywanych przez lpIDArray.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
CStatusBar::SetPaneInfo
Ustawia okienko określonego wskaźnika na nowy identyfikator, styl i szerokość.
void SetPaneInfo(
int nIndex,
UINT nID,
UINT nStyle,
int cxWidth);
Parametry
nIndex
Indeks okienka wskaźnika, którego styl ma zostać ustawiony.
Nid
Nowy identyfikator okienka wskaźnika.
nStyle
Nowy styl okienka wskaźnika.
cxWidth
Nowa szerokość okienka wskaźnika.
Uwagi
Obsługiwane są następujące style wskaźnika:
SBPS_NOBORDERS obramowanie 3-W wokół okienka.
SBPS_POPOUT obramowanie odwrotne, aby tekst "wyskakuje".
SBPS_DISABLED Nie rysuj tekstu.
SBPS_STRETCH okienko Stretch, aby wypełnić nieużywane miejsce. Ten styl może mieć tylko jedno okienko na pasek stanu.
SBPS_NORMAL no stretch, borders, or pop-out.
CStatusBar::SetPaneStyle
Wywołaj tę funkcję składową, aby ustawić styl okienka paska stanu.
void SetPaneStyle(
int nIndex,
UINT nStyle);
Parametry
nIndex
Indeks okienka, którego styl ma zostać ustawiony.
nStyle
Styl okienka, którego styl ma być ustawiony.
Uwagi
Styl okienka określa sposób wyświetlania okienka.
Aby uzyskać listę stylów dostępnych dla pasków stanu, zobacz SetPaneInfo.
CStatusBar::SetPaneText
Wywołaj tę funkcję składową, aby ustawić tekst okienka na ciąg wskazywany przez lpszNewText.
BOOL SetPaneText(
int nIndex,
LPCTSTR lpszNewText,
BOOL bUpdate = TRUE);
Parametry
nIndex
Indeks okienka, którego tekst ma zostać ustawiony.
lpszNewText
Wskaźnik do nowego tekstu okienka.
bUpdate
Jeśli wartość TRUE, okienko zostanie unieważnione po ustawieniu tekstu.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Po wywołaniu SetPaneText
metody należy dodać program obsługi aktualizacji interfejsu użytkownika, aby wyświetlić nowy tekst na pasku stanu.
Przykład
//Sets and displays text for pane index 3 and id ID_INDICATOR_SCRL
m_wndStatusBar.SetPaneText(3, _T("My New Status Bar Text"), TRUE);
//UI handler in the message map updates the status bar text:
ON_UPDATE_COMMAND_UI(ID_INDICATOR_SCRL, &CMainFrame::OnUpdatePane)
void CMainFrame::OnUpdatePane(CCmdUI* pCmdUI)
{
pCmdUI->Enable();
}
Zobacz też
Przykładowe CTRLBARS MFC
Przykładowe DLGCBR32 MFC
Klasa CControlBar
Wykres hierarchii
Klasa CStatusBarCtrl
Klasa CControlBar