Udostępnij za pośrednictwem


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 GetStatusBarCtrlmetody można nadać pasków stanu jeszcze więcej cech paska stanu systemu Windows 95/98. Wywołanie GetStatusBarCtrlmetody 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:

  1. Skonstruuj CStatusBar obiekt.

  2. Wywołaj funkcję Create (lub CreateEx), aby utworzyć okno paska stanu i dołączyć je do CStatusBar obiektu.

  3. Wywołaj metodę SetIndicators , aby skojarzyć identyfikator ciągu z każdym wskaźnikiem.

Istnieją trzy sposoby aktualizowania tekstu w okienku paska stanu:

  1. Wywołaj metodę CWnd::SetWindowText , aby zaktualizować tekst tylko w okienku 0.

  2. Wywołaj metodę CCmdUI::SetText w programie obsługi ON_UPDATE_COMMAND_UI paska stanu.

  3. 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

Obiekt CObject

CCmdTarget

CWnd

CControlBar

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