Aracılığıyla paylaş


CStatusBarCtrl Sınıfı

Windows ortak durum çubuğu denetiminin işlevselliğini sağlar.

Sözdizimi

class CStatusBarCtrl : public CWnd

Üyeler

Ortak Oluşturucular

Ad Tanım
CStatusBarCtrl::CStatusBarCtrl Bir CStatusBarCtrl nesne oluşturur.

Genel Yöntemler

Ad Tanım
CStatusBarCtrl::Create Bir durum çubuğu denetimi oluşturur ve bunu bir CStatusBarCtrl nesneye ekler.
CStatusBarCtrl::CreateEx Belirtilen Windows genişletilmiş stilleriyle bir durum çubuğu denetimi oluşturur ve bunu bir CStatusBarCtrl nesneye ekler.
CStatusBarCtrl::D rawItem Sahip çizim durum çubuğu denetiminin görsel bir yönü değiştiğinde çağrılır.
CStatusBarCtrl::GetBorders Durum çubuğu denetiminin yatay ve dikey kenarlıklarının geçerli genişliklerini alır.
CStatusBarCtrl::GetIcon Geçerli durum çubuğu denetimindeki bir bölümün (bölme olarak da bilinir) simgesini alır.
CStatusBarCtrl::GetParts Durum çubuğu denetimindeki bölümlerin sayısını alır.
CStatusBarCtrl::GetRect Durum çubuğu denetimindeki bir bölümün sınırlayıcı dikdörtgenini alır.
CStatusBarCtrl::GetText Bir durum çubuğu denetiminin verilen bölümünden metni alır.
CStatusBarCtrl::GetTextLength Durum çubuğu denetiminin verilen bölümünden metnin uzunluğunu karakter cinsinden alın.
CStatusBarCtrl::GetTipText Durum çubuğundaki bölmenin araç ipucu metnini alır.
CStatusBarCtrl::IsSimple Basit modda olup olmadığını belirlemek için durum penceresi denetimini denetler.
CStatusBarCtrl::SetBkColor Durum çubuğunda arka plan rengini ayarlar.
CStatusBarCtrl::SetIcon Durum çubuğundaki bir bölmenin simgesini ayarlar.
CStatusBarCtrl::SetMinHeight Durum çubuğu denetiminin çizim alanının en düşük yüksekliğini ayarlar.
CStatusBarCtrl::SetParts Durum çubuğu denetimindeki parça sayısını ve her bölümün sağ kenarının koordinatını ayarlar.
CStatusBarCtrl::SetSimple Durum çubuğu denetiminin basit metin görüntüleyip görüntülemediğini veya önceki bir çağrısı SetPartstarafından ayarlanan tüm denetim bölümlerini görüntüleyip görüntülemediğini belirtir.
CStatusBarCtrl::SetText Durum çubuğu denetiminin verilen bölümündeki metni ayarlar.
CStatusBarCtrl::SetTipText Durum çubuğundaki bölme için araç ipucu metnini ayarlar.

Açıklamalar

"Durum çubuğu denetimi", genellikle bir uygulamanın çeşitli durum bilgisi türlerini görüntüleyebildiği bir üst pencerenin en altında görüntülenen yatay bir penceredir. Durum çubuğu denetimi, birden fazla bilgi türünü görüntülemek için bölümlere ayrılabilir.

Bu denetim (ve dolayısıyla CStatusBarCtrl sınıfı) yalnızca Windows 95/98 ve Windows NT sürüm 3.51 ve üzeri altında çalışan programlarda kullanılabilir.

kullanma CStatusBarCtrlhakkında daha fazla bilgi için bkz . Denetimler ve CStatusBarCtrl Kullanma.

Devralma Hiyerarşisi

Cobject

Ccmdtarget

Cwnd

CStatusBarCtrl

Gereksinimler

Üst bilgi: afxcmn.h

CStatusBarCtrl::Create

Bir durum çubuğu denetimi oluşturur ve bunu bir CStatusBarCtrl nesneye ekler.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametreler

Dwstyle
Durum çubuğu denetiminin stilini belirtir. Windows SDK'sında Ortak Denetim Stilleri'nde listelenen durum çubuğu denetim stillerinin herhangi bir bileşimini uygulayın. Bu parametre WS_CHILD stilini içermelidir. Ayrıca WS_VISIBLE stilini de içermelidir.

Rect
Durum çubuğu denetiminin boyutunu ve konumunu belirtir. Bir CRect nesnesi veya RECTyapısı olabilir.

pParentWnd
Durum çubuğu denetiminin üst penceresini ( genellikle bir CDialog) belirtir. NULL olmamalıdır.

Nıd
Durum çubuğu denetiminin kimliğini belirtir.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde sıfır.

Açıklamalar

İki adımda bir CStatusBarCtrl oluşturursunuz. İlk olarak oluşturucuyu çağırın ve ardından durum çubuğu denetimini oluşturan ve nesnesine ekleyen öğesini çağırınCreateCStatusBarCtrl.

Durum penceresinin varsayılan konumu üst pencerenin alt kısmındadır, ancak üst pencerenin istemci alanının en üstünde görünmesi için CCS_TOP stilini belirtebilirsiniz. Durum penceresinin sağ ucunda boyutlandırma kavraması eklemek için SBARS_SIZEGRIP stilini belirtebilirsiniz. Sistem durum penceresinde çizse bile sonuçta elde edilen boyutlandırma kavraması işlevsel olmadığından, CCS_TOP ve SBARS_SIZEGRIP stillerinin birleştirilmesi önerilmez.

Genişletilmiş pencere stillerine sahip bir durum çubuğu oluşturmak için yerine CStatusBarCtrl::CreateEx'i çağırın.Create

Örnek

VERIFY(m_wndSBC.Create(WS_CHILD | WS_VISIBLE | CCS_BOTTOM | SBARS_SIZEGRIP,
                       CRect(0, 0, 0, 0), this, IDC_STATUSBARCTRL));

CStatusBarCtrl::CreateEx

Bir denetim (alt pencere) oluşturur ve bunu nesnesiyle CStatusBarCtrl ilişkilendirir.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametreler

dwExStyle
Oluşturulan denetimin genişletilmiş stilini belirtir. Genişletilmiş Windows stillerinin listesi için Windows SDK'sında CreateWindowEx için dwExStyle parametresine bakın.

Dwstyle
Durum çubuğu denetiminin stilini belirtir. Windows SDK'sında Ortak Denetim Stilleri'nde listelenen durum çubuğu denetim stillerinin herhangi bir bileşimini uygulayın. Bu parametre WS_CHILD stilini içermelidir. Ayrıca WS_VISIBLE stilini de içermelidir.

Rect
pParentWnd istemci koordinatlarında oluşturulacak pencerenin boyutunu ve konumunu açıklayan rect yapısına başvuru.

pParentWnd
Denetimin üst öğesi olan pencere işaretçisi.

Nıd
Denetimin alt pencere kimliği.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Windows genişletilmiş stil ön biçimi WS_EX_ tarafından belirtilen genişletilmiş Windows stillerini uygulamak için Oluştur yerine kullanınCreateEx.

CStatusBarCtrl::CStatusBarCtrl

Bir CStatusBarCtrl nesne oluşturur.

CStatusBarCtrl();

CStatusBarCtrl::D rawItem

Sahip çizim durum çubuğu denetiminin görsel bir yönü değiştiğinde çerçeve tarafından çağrılır.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Parametreler

lpDrawItemStruct
Gereken çizim türü hakkında bilgi içeren DRAWITEMSTRUCT yapısına yönelik uzun bir işaretçi.

Açıklamalar

Yapının itemAction üyesi DRAWITEMSTRUCT , gerçekleştirilecek çizim eylemini tanımlar.

Varsayılan olarak, bu üye işlevi hiçbir şey yapmaz. Sahip çizim CStatusBarCtrl nesnesi için çizim uygulamak için bu üye işlevini geçersiz kılın.

Uygulama, bu üye işlevi sonlanmadan önce lpDrawItemStruct içinde sağlanan görüntüleme bağlamı için seçilen tüm grafik cihaz arabirimi (GDI) nesnelerini geri yüklemelidir.

CStatusBarCtrl::GetBorders

Durum çubuğu denetiminin yatay ve dikey kenarlıkların geçerli genişliklerini ve dikdörtgenler arasındaki boşluğu alır.

BOOL GetBorders(int* pBorders) const;

BOOL GetBorders(
    int& nHorz,
    int& nVert,
    int& nSpacing) const;

Parametreler

pBorders
Üç öğe içeren bir tamsayı dizisinin adresi. İlk öğe yatay kenarlık genişliğini, ikinci öğe dikey kenarlık genişliğini, üçüncüsü ise dikdörtgenler arasındaki kenarlık genişliğini alır.

nHorz
Yatay kenarlık genişliğini alan bir tamsayıya başvuru.

nVert
Dikey kenarlık genişliğini alan bir tamsayıya başvuru.

nSpacing
Dikdörtgenler arasındaki kenarlık genişliğini alan bir tamsayıya başvuru.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde sıfır.

Açıklamalar

Bu kenarlıklar, denetimin dış kenarı ile denetimin içinde metin içeren dikdörtgenler arasındaki aralığı belirler.

Örnek

RECT rectPane1;
VERIFY(m_wndSBC.GetRect(1, &rectPane1));

int borderArray[3];
VERIFY(m_wndSBC.GetBorders(borderArray));

int nHorz, nVert, nSpacing;
VERIFY(m_wndSBC.GetBorders(nHorz, nVert, nSpacing));

CStatusBarCtrl::GetIcon

Geçerli durum çubuğu denetimindeki bir bölümün (bölme olarak da bilinir) simgesini alır.

HICON GetIcon(int iPart) const;

Parametreler

iPart
[in] Alınacak simgeyi içeren bölümün sıfır tabanlı dizini. Bu parametre -1 ise, durum çubuğunun basit mod durum çubuğu olduğu varsayılır.

İade Değeri

Yöntem başarılı olursa simgenin tutamacı; aksi takdirde NULL.

Açıklamalar

Bu yöntem, Windows SDK'sında açıklanan SB_GETICON iletisini gönderir.

Durum çubuğu denetimi, parça olarak da bilinen bir metin çıkış bölmeleri satırından oluşur. Durum çubuğu hakkında daha fazla bilgi için bkz . MFC'de Durum Çubuğu Uygulaması ve CStatusBarCtrl Nesnesinin Modunu Ayarlama.

Örnek

İlk kod örneği, m_statusBargeçerli durum çubuğu denetimine erişmek için kullanılan bir değişkeni tanımlar. Bu değişken sonraki örnekte kullanılır.

public:
CStatusBarCtrl m_statusBar;

Sonraki kod örneği, bir simgeyi geçerli durum çubuğu denetiminin iki bölmesine kopyalar. Kod örneğinin önceki bir bölümünde üç bölmeli bir durum çubuğu denetimi oluşturduk ve ardından ilk bölmeye bir simge ekledik. Bu örnek, simgeyi ilk bölmeden alır ve ikinci ve üçüncü bölmeye ekler.

// Get the icon from pane 1 and set it in panes 2 and 3.
HICON hIcon = m_statusBar.GetIcon(0);
m_statusBar.SetIcon(1, hIcon);
m_statusBar.SetIcon(2, hIcon);

CStatusBarCtrl::GetParts

Durum çubuğu denetimindeki bölümlerin sayısını alır.

int GetParts(
    int nParts,
    int* pParts) const;

Parametreler

nParts
Koordinatların alındığı parça sayısı. Bu parametre denetimdeki parça sayısından büyükse, ileti yalnızca mevcut parçaların koordinatlarını alır.

pParts
nParts tarafından belirtilen parça sayısıyla aynı sayıda öğeye sahip bir tamsayı dizisinin adresi. Dizideki her öğe, karşılık gelen bölümün sağ kenarının istemci koordinatını alır. Bir öğe - 1 olarak ayarlanırsa, bu bölümün sağ kenarının konumu durum çubuğunun sağ kenarına kadar uzanır.

İade Değeri

Başarılı olursa denetimdeki parça sayısı veya aksi takdirde sıfır.

Açıklamalar

Bu üye işlevi ayrıca verilen parça sayısının sağ kenarının koordinatını da alır.

Örnek

int pParts[2];

int nParts = m_wndSBC.GetParts(2, pParts);

CStatusBarCtrl::GetRect

Durum çubuğu denetimindeki bir bölümün sınırlayıcı dikdörtgenini alır.

BOOL GetRect(
    int nPane,
    LPRECT lpRect) const;

Parametreler

nPane
Sınırlayıcı dikdörtgeni alınacak olan bölümün sıfır tabanlı dizini.

Lprect
Sınırlayıcı dikdörtgeni alan rect yapısının adresi.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde sıfır.

Örnek

CRect rectPane1;

VERIFY(m_wndSBC.GetRect(1, &rectPane1));

CStatusBarCtrl::GetText

Bir durum çubuğu denetiminin verilen bölümünden metni alır.

CString GetText(
    int nPane,
    int* pType = NULL) const;

int GetText(
    LPCTSTR lpszText,
    int nPane,
    int* pType = NULL) const;

Parametreler

lpszText
Metni alan arabelleğin adresi. Bu parametre null olarak sonlandırılan bir dizedir.

nPane
Metin alınacak bölümün sıfır tabanlı dizini.

pType
Tür bilgilerini alan bir tamsayı işaretçisi. Türü şu değerlerden biri olabilir:

  • 0 Metin, durum çubuğunun düzleminden daha düşük görünecek şekilde kenarlıkla çizilir.

  • SBT_NOBORDERS Metin kenarlıksız çizilir.

  • SBT_POPOUT Metin, durum çubuğunun düzleminden daha yüksek görünecek şekilde kenarlıkla çizilir.

  • SBT_OWNERDRAW Metnin çizim türü SBT_OWNERDRAW ise, pType bu iletiyi alır ve uzunluk ve işlem türü yerine metinle ilişkili 32 bit değeri döndürür.

İade Değeri

Metnin veya geçerli metni içeren bir CString'in karakter cinsinden uzunluğu.

Örnek

int nType;
TCHAR *pszPaneOneText;

pszPaneOneText = new TCHAR[m_wndSBC.GetTextLength(1, &nType) + 1];
int nTextLength = m_wndSBC.GetText(pszPaneOneText, 1, &nType);

switch (nType)
{
case 0:
   // Text is drawn with a border to appear lower than the
   // plane of the status bar
   break;
case SBT_NOBORDERS:
   // text is drawn without borders
   break;
case SBT_OWNERDRAW:
   // Text is drawn by the parent window
   break;
case SBT_POPOUT:
   // Text is drawn with a border to appear higher than the
   // plane of the status bar
   break;
}

delete pszPaneOneText;

CStatusBarCtrl::GetTextLength

Durum çubuğu denetiminin verilen bölümünden metnin uzunluğunu karakter olarak alır.

int GetTextLength(
    int nPane,
    int* pType = NULL) const;

Parametreler

nPane
Metin alınacak bölümün sıfır tabanlı dizini.

pType
Tür bilgilerini alan bir tamsayı işaretçisi. Türü şu değerlerden biri olabilir:

  • 0 Metin, durum çubuğunun düzleminden daha düşük görünecek şekilde kenarlıkla çizilir.

  • SBT_NOBORDERS Metin kenarlıksız çizilir.

  • SBT_OWNERDRAW Metin üst pencere tarafından çizilir.

  • SBT_POPOUT Metin, durum çubuğunun düzleminden daha yüksek görünecek şekilde kenarlıkla çizilir.

İade Değeri

Metnin uzunluğu (karakter cinsinden).

Örnek

int nType;
int nLength = m_wndSBC.GetTextLength(0, &nType);

switch (nType)
{
case 0:
   // Text is drawn with a border to appear lower than the
   // plane of the status bar
   break;
case SBT_NOBORDERS:
   // text is drawn without borders
   break;
case SBT_OWNERDRAW:
   // Text is drawn by the parent window
   break;
case SBT_POPOUT:
   // Text is drawn with a border to appear higher than the
   // plane of the status bar
   break;
}

CStatusBarCtrl::GetTipText

Durum çubuğundaki bölmenin araç ipucu metnini alır.

CString GetTipText(int nPane) const;

Parametreler

nPane
Araç ipucu metnini almak için durum çubuğu bölmesinin sıfır tabanlı dizini.

İade Değeri

Araç ipucunda kullanılacak metni içeren bir CString nesnesi.

Açıklamalar

Bu üye işlevi, Windows SDK'da açıklandığı gibi Win32 ileti SB_GETTIPTEXT davranışını uygular.

Örnek

CString csPane0TipText = m_wndSBC.GetTipText(0);

CStatusBarCtrl::IsSimple

Basit modda olup olmadığını belirlemek için durum penceresi denetimini denetler.

BOOL IsSimple() const;

İade Değeri

Durum penceresi denetimi basit moddaysa sıfır olmayan; aksi takdirde sıfır.

Açıklamalar

Bu üye işlevi, Windows SDK'da açıklandığı gibi Win32 ileti SB_ISSIMPLE davranışını uygular.

CStatusBarCtrl::SetBkColor

Durum çubuğunda arka plan rengini ayarlar.

COLORREF SetBkColor(COLORREF cr);

Parametreler

Cr
Yeni arka plan rengini belirten COLORREF değeri. Durum çubuğunun varsayılan arka plan rengini kullanmasına neden olacak CLR_DEFAULT değerini belirtin.

İade Değeri

Önceki varsayılan arka plan rengini temsil eden COLORREF değeri.

Açıklamalar

Bu üye işlevi, Windows SDK'da açıklandığı gibi Win32 ileti SB_SETBKCOLOR davranışını uygular.

Örnek

m_wndSBC.SetBkColor(RGB(0, 0, 250));

HICON hIcon = AfxGetApp()->LoadIcon(IDI_PANE_0_ICON);
VERIFY(hIcon);
VERIFY(m_wndSBC.SetIcon(0, hIcon));

CStatusBarCtrl::SetIcon

Durum çubuğundaki bir bölmenin simgesini ayarlar.

BOOL SetIcon(
    int nPane,
    HICON hIcon);

Parametreler

nPane
Simgeyi alacak bölmenin sıfır tabanlı dizini. Bu parametre -1 ise, durum çubuğunun basit bir durum çubuğu olduğu varsayılır.

Hıcon
Ayarlanacak simgenin tutamacı. Bu değer NULL ise, simge bölümünden kaldırılır.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde sıfır.

Açıklamalar

Bu üye işlevi, Windows SDK'da açıklandığı gibi Win32 ileti SB_SETICON davranışını uygular.

Örnek

CStatusBarCtrl::SetBkColor örneğine bakın.

CStatusBarCtrl::SetMinHeight

Durum çubuğu denetiminin çizim alanının en düşük yüksekliğini ayarlar.

void SetMinHeight(int nMin);

Parametreler

nMin
Denetimin piksel cinsinden en düşük yüksekliği.

Açıklamalar

En düşük yükseklik nMin toplamıdır ve durum çubuğu denetiminin dikey kenarlık değerinin piksel cinsinden iki katı genişliktir.

Örnek

m_wndSBC.SetMinHeight(40);

CStatusBarCtrl::SetParts

Durum çubuğu denetimindeki parça sayısını ve her bölümün sağ kenarının koordinatını ayarlar.

BOOL SetParts(
    int nParts,
    int* pWidths);

Parametreler

nParts
Ayarlanacağı parça sayısı. Parça sayısı 255'ten büyük olamaz.

pWidths
nParts tarafından belirtilen parçalarla aynı sayıda öğeye sahip bir tamsayı dizisinin adresi. Dizideki her öğe, karşılık gelen bölümün sağ kenarının konumunu istemci koordinatlarında belirtir. Bir öğe - 1 ise, bu bölümün sağ kenarının konumu denetimin sağ kenarına kadar uzanır.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde sıfır.

Örnek

const int c_nParts = 4;
CRect rect;

m_wndSBC.GetClientRect(&rect);
int aWidths[c_nParts] = {rect.right - 300, rect.right - 200, rect.right - 100,
                         -1};

VERIFY(m_wndSBC.SetParts(c_nParts, aWidths));

CStatusBarCtrl::SetSimple

Durum çubuğu denetiminin basit metin görüntüleyip görüntülemediğini veya Önceki bir SetParts çağrısı tarafından ayarlanan tüm denetim bölümlerini görüntüleyip görüntülemediğini belirtir.

BOOL SetSimple(BOOL bSimple = TRUE);

Parametreler

bSimple
[in] Görüntü türü bayrağı. Bu parametre TRUE ise, denetim basit metin görüntüler; FALSE ise, birden çok parça görüntüler.

İade Değeri

Her zaman 0 değerini döndürür.

Açıklamalar

Uygulamanız durum çubuğu denetimini basit olmayandan basite veya tersine değiştirirse sistem denetimi hemen yeniden çizer.

CStatusBarCtrl::SetText

Durum çubuğu denetiminin verilen bölümündeki metni ayarlar.

BOOL SetText(
    LPCTSTR lpszText,
    int nPane,
    int nType);

Parametreler

lpszText
Ayarlanacağı metni belirten null olarak sonlandırılan dizenin adresi. nType SBT_OWNERDRAW ise, lpszText 32 bit veriyi temsil eder.

nPane
Ayarlanacağı bölümün sıfır tabanlı dizini. Bu değer 255 ise, durum çubuğu denetiminin yalnızca bir bölümü olan basit bir denetim olduğu varsayılır.

nType
Çizim işleminin türü. Olası değerlerin listesi için bkz . SB_SETTEXT ileti .

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde sıfır.

Açıklamalar

İleti, denetimin değiştirilen bölümünü geçersiz kıldığından, denetim bir sonraki WM_PAINT iletisini aldığında yeni metni görüntülemesine neden olur.

Örnek

VERIFY(m_wndSBC.SetText(_T("Text For Pane 1"), 1, 0));

CStatusBarCtrl::SetTipText

Durum çubuğundaki bölme için araç ipucu metnini ayarlar.

void SetTipText(
    int nPane,
    LPCTSTR pszTipText);

Parametreler

nPane
Araç ipucu metnini almak için durum çubuğu bölmesinin sıfır tabanlı dizini.

pszTipText
Araç ipucu metnini içeren bir dize işaretçisi.

Açıklamalar

Bu üye işlevi, Windows SDK'da açıklandığı gibi Win32 ileti SB_SETTIPTEXT davranışını uygular.

Örnek

m_wndSBC.SetTipText(0, _T("This is Pane 0"));

Ayrıca bkz.

CWnd Sınıfı
Hiyerarşi Grafiği
CToolBarCtrl Sınıfı