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
Veri Akışı Adı | Açıklama |
---|---|
CStatusBarCtrl::CStatusBarCtrl | Bir CStatusBarCtrl nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
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ı SetParts tarafı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 CStatusBarCtrl
hakkında daha fazla bilgi için bkz . Denetimler ve CStatusBarCtrl Kullanma.
Devralma Hiyerarşisi
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 RECT yapı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.
Dönüş 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ınCreate
CStatusBarCtrl
.
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.
Dönüş 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.
Dönüş 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.
Dönüş 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_statusBar
geç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.
Dönüş 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.
Dönüş 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.
Dönüş 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.
Dönüş 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.
Dönüş 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;
Dönüş 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.
Dönüş 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.
hIcon
Ayarlanacak simgenin tutamacı. Bu değer NULL ise, simge bölümünden kaldırılır.
Dönüş 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.
Dönüş 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.
Dönüş 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 .
Dönüş 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"));