CControlBar Sınıfı
CStatusBar, CToolBar, CDialogBar, CReBar ve COleResizeBar denetim çubuğu sınıfları için temel sınıf.
Sözdizimi
class CControlBar : public CWnd
Üyeler
Korumalı Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CControlBar::CControlBar | Bir CControlBar nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CControlBar::CalcDynamicLayout | Dinamik denetim çubuğunun boyutunu CSize nesnesi olarak döndürür. |
CControlBar::CalcFixedLayout | Denetim çubuğunun boyutunu CSize nesnesi olarak döndürür. |
CControlBar::CalcInsideRect | Denetim çubuğu alanının geçerli boyutlarını döndürür; kenarlıklar da dahil olmak üzere. |
CControlBar::D oPaint | Denetim çubuğunun kenarlıklarını ve kavrama çubuğunu işler. |
CControlBar::D rawBorders | Denetim çubuğunun kenarlıklarını işler. |
CControlBar::D rawGripper | Denetim çubuğunun kavramasını işler. |
CControlBar::EnableDocking | Denetim çubuğunun yerleşik veya kayan olmasına izin verir. |
CControlBar::GetBarStyle | Denetim çubuğu stili ayarlarını alır. |
CControlBar::GetBorders | Denetim çubuğunun kenarlık değerlerini alır. |
CControlBar::GetCount | Denetim çubuğundaki HWND olmayan öğelerin sayısını döndürür. |
CControlBar::GetDockingFrame | Denetim çubuğunun yerleştirildiği çerçeveye bir işaretçi döndürür. |
CControlBar::IsFloating | Söz konusu denetim çubuğu kayan bir denetim çubuğuysa sıfır olmayan bir değer döndürür. |
CControlBar::OnUpdateCmdUI | Komut kullanıcı arabirimi işleyicilerini çağırır. |
CControlBar::SetBarStyle | Denetim çubuğu stili ayarlarını değiştirir. |
CControlBar::SetBorders | Denetim çubuğunun kenarlık değerlerini ayarlar. |
CControlBar::SetInPlaceOwner | Denetim çubuğunun yerinde sahibini değiştirir. |
Ortak Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
CControlBar::m_bAutoDelete | Sıfır değilse, CControlBar Windows denetim çubuğu yok edildiğinde nesne silinir. |
CControlBar::m_pInPlaceOwner | Denetim çubuğunun yerinde sahibi. |
Açıklamalar
Denetim çubuğu genellikle çerçeve penceresinin soluna veya sağına hizalanmış bir penceredir. Windows iletileri oluşturan ve yanıt veren pencereler olan HWND tabanlı denetimler veya windows olmayan ve uygulama kodu veya çerçeve kodu tarafından yönetilen HWND tabanlı olmayan öğeler içeren alt öğeler içerebilir. Liste kutuları ve düzenleme denetimleri HWND tabanlı denetimlere örnektir; durum çubuğu bölmeleri ve bit eşlem düğmeleri, HWND tabanlı olmayan denetimlere örnektir.
Denetim çubuğu pencereleri genellikle bir üst çerçeve penceresinin alt pencereleridir ve genellikle çerçeve penceresinin istemci görünümü veya MDI istemcisiyle eşdüzeydir. Nesne CControlBar
, kendisini konumlandırmak için üst pencerenin istemci dikdörtgeni hakkındaki bilgileri kullanır. Daha sonra üst pencerenin istemci alanında ne kadar alanın ayrılmamış olarak kaldığını üst pencereye bildirir.
hakkında CControlBar
daha fazla bilgi için bkz:
Devralma Hiyerarşisi
CControlBar
Gereksinimler
Üst bilgi: afxext.h
CControlBar::CalcDynamicLayout
Çerçeve, dinamik araç çubuğunun boyutlarını hesaplamak için bu üye işlevini çağırır.
virtual CSize CalcDynamicLayout(
int nLength,
DWORD nMode);
Parametreler
nLength
Denetim çubuğunun dwMode'a bağlı olarak yatay veya dikey olarak istenen boyutu.
nMode
Aşağıdaki önceden tanımlanmış bayraklar, dinamik denetim çubuğunun yüksekliğini ve genişliğini belirlemek için kullanılır. Bayrakları birleştirmek için bit düzeyinde OR (|
) işlecini kullanın.
Düzen modu bayrakları | Anlamı |
---|---|
LM_STRETCH | Denetim çubuğunun çerçeve boyutuna kadar uzatılıp uzatılmayacağını gösterir. Çubuğun bir yerleştirme çubuğu olup olmadığını ayarlayın (yerleştirme için kullanılamaz). Çubuk sabitlendiğinde veya kayan olduğunda ayarlanmaz (yerleştirme için kullanılabilir). Ayarlanırsa, LM_STRETCH nLength değerini yoksayar ve LM_HORZ durumuna göre boyutları döndürür. LM_STRETCH, CalcFixedLayout içinde kullanılan bStretch parametresine benzer şekilde çalışır; esnetme ve yönlendirme arasındaki ilişki hakkında daha fazla bilgi için bu üye işlevine bakın. |
LM_HORZ | Çubuğun yatay veya dikey olarak yönlendirildiğini gösterir. Çubuğun yatay olarak yönlendirilip yönlendirilmediğini ve dikey olarak yönlendirilmişse ayarlanmadığını ayarlayın. LM_HORZ, CalcFixedLayout içinde kullanılan bHorz parametresine benzer şekilde çalışır; esnetme ve yönlendirme arasındaki ilişki hakkında daha fazla bilgi için bu üye işlevine bakın. |
LM_MRUWIDTH | En Son Kullanılan Dinamik Genişlik. nLength parametresini yoksayar ve en son kullanılan genişliği kullanır. |
LM_HORZDOCK | Yatay Yerleşik Boyutlar. nLength parametresini yoksayar ve en büyük genişliğe sahip dinamik boyutu döndürür. |
LM_VERTDOCK | Dikey Yerleşik Boyutlar. nLength parametresini yoksayar ve en büyük yüksekliğe sahip dinamik boyutu döndürür. |
LM_LENGTHY | nLength, genişlik yerine yüksekliği (Y yönü) gösteriyorsa ayarlayın. |
LM_COMMIT | LM_MRUWIDTH kayan denetim çubuğunun geçerli genişliğine sıfırlar. |
Dönüş Değeri
CSize nesnesinin piksel cinsinden denetim çubuğu boyutu.
Açıklamalar
öğesinden CControlBar
türetdiğiniz sınıflarda kendi dinamik düzeninizi sağlamak için bu üye işlevini geçersiz kılın. CToolbar gibi öğesinden CControlBar
türetilen MFC sınıfları bu üye işlevini geçersiz kılar ve kendi uygulamalarını sağlar.
CControlBar::CalcFixedLayout
Denetim çubuğunun yatay boyutunu hesaplamak için bu üye işlevini çağırın.
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
Parametreler
bStretch
Çubuğun çerçeve boyutuna kadar uzatılıp uzatılmayacağını gösterir. bStretch parametresi, çubuk bir yerleştirme çubuğu olmadığında (yerleştirme için kullanılamaz) sıfır değildir ve yerleşik veya kayan (yerleştirme için kullanılabilir) olduğunda 0'dır.
bHorz
Çubuğun yatay veya dikey olarak yönlendirildiğini gösterir. Çubuk yatay olarak yönlendirilmişse bHorz parametresi sıfır değildir ve dikey olarak yönlendirilmişse 0'dır.
Dönüş Değeri
Bir nesnenin CSize
piksel cinsinden denetim çubuğu boyutu.
Açıklamalar
Araç çubukları gibi denetim çubukları, denetim çubuğundaki düğmelere uyum sağlamak için yatay veya dikey olarak esnetilebilir.
bStretch TRUE ise, boyutu bHorz tarafından sağlanan yönlendirme boyunca uzatın. Başka bir deyişle, bHorz YANLIŞ ise, denetim çubuğu dikey olarak uzatılır. bStretch YANLIŞ ise, esnetme gerçekleşmez. Aşağıdaki tabloda, bStretch ve bHorz'un olası permütasyonları ve sonuçta elde edilen denetim çubuğu stilleri gösterilmektedir.
bStretch | bHorz | Germe | Hizalama | Yerleştirme/Takma değil |
---|---|---|---|---|
TRUE | TRUE | Yatay esnetme | Yatay olarak yönlendirilmiş | Yerleştirilmiyor |
TRUE | FALSE | Dikey esnetme | Dikey olarak yönlendirilmiş | Yerleştirilmiyor |
FALSE | TRUE | Esnetme yok | Yatay olarak yönlendirilmiş | Takma |
FALSE | FALSE | Esnetme yok | Dikey olarak yönlendirilmiş | Takma |
CControlBar::CalcInsideRect
Çerçeve, denetim çubuğunun istemci alanını hesaplamak için bu işlevi çağırır.
virtual void CalcInsideRect(
CRect& rect,
BOOL bHorz) const;
Parametreler
Rect
Denetim çubuğunun geçerli boyutlarını içerir; kenarlıklar da dahil olmak üzere.
bHorz
Çubuğun yatay veya dikey olarak yönlendirildiğini gösterir. Çubuk yatay olarak yönlendirilmişse bHorz parametresi sıfır değildir ve dikey olarak yönlendirilmişse 0'dır.
Açıklamalar
Bu işlev denetim çubuğu boyanmadan önce çağrılır.
Denetim çubuğunun kenarlıklarının ve kavrama çubuğunun işlenmesini özelleştirmek için bu işlevi geçersiz kılın.
CControlBar::CControlBar
Bir CControlBar
nesne oluşturur.
CControlBar();
CControlBar::D oPaint
Çerçeve tarafından denetim çubuğunun kenarlıklarını ve kavrama çubuğunu işlemek için çağrılır.
virtual void DoPaint(CDC* pDC);
Parametreler
pDC
Denetim çubuğunun kenarlıklarını ve kavramasını işlemek için kullanılacak cihaz bağlamını gösterir.
Açıklamalar
Denetim çubuğunun çizim davranışını özelleştirmek için bu işlevi geçersiz kılın.
Başka bir özelleştirme yöntemi, ve DrawGripper
işlevlerini geçersiz kılmak DrawBorders
ve kenarlıklar ve kavrama için özel çizim kodu eklemektir. Bu yöntemler varsayılan DoPaint
yöntem tarafından çağrıldığından, geçersiz kılma DoPaint
gerekli değildir.
CControlBar::D rawBorders
Denetim çubuğunun kenarlıklarını işlemek için çerçeve tarafından çağrılır.
virtual void DrawBorders(
CDC* pDC,
CRect& rect);
Parametreler
pDC
Denetim çubuğunun kenarlıklarını işlemek için kullanılacak cihaz bağlamını gösterir.
Rect
CRect
Denetim çubuğunun boyutlarını içeren bir nesne.
Açıklamalar
Denetim çubuğu kenarlıklarının görünümünü özelleştirmek için bu işlevi geçersiz kılın.
CControlBar::D rawGripper
Denetim çubuğunun kavramasını işlemek için çerçeve tarafından çağrılır.
virtual void DrawGripper(
CDC* pDC,
const CRect& rect);
Parametreler
pDC
Denetim çubuğu kavramasını işlemek için kullanılacak cihaz bağlamını gösterir.
Rect
CRect
Kontrol çubuğu kavrama çubuğunun boyutlarını içeren bir nesne.
Açıklamalar
Denetim çubuğu kavramanın görünümünü özelleştirmek için bu işlevi geçersiz kılın.
CControlBar::EnableDocking
Bir denetim çubuğunun yerleştirilebilmesini sağlamak için bu işlevi çağır.
void EnableDocking(DWORD dwDockStyle);
Parametreler
dwDockStyle
Denetim çubuğunun yerleştirmeyi destekleyip desteklemediğini ve destekleniyorsa denetim çubuğunun yerleştirilebileceği üst penceresinin kenarlarını belirtir. Aşağıdakilerden biri veya daha fazlası olabilir:
CBRS_ALIGN_TOP İstemci alanının en üstüne yerleştirmeye izin verir.
CBRS_ALIGN_BOTTOM İstemci alanının en altına yerleştirmeye izin verir.
CBRS_ALIGN_LEFT İstemci alanının sol tarafına yerleştirmeye izin verir.
CBRS_ALIGN_RIGHT İstemci alanının sağ tarafına yerleştirmeye izin verir.
CBRS_ALIGN_ANY İstemci alanının herhangi bir tarafına yerleştirmeye izin verir.
CBRS_FLOAT_MULTI Birden çok denetim çubuğunun tek bir mini çerçeve penceresinde kaydırılmasına izin verir.
0 ise (yani, bayrak olmadığını gösterir), denetim çubuğu sabitlenmez.
Açıklamalar
Belirtilen kenarlar hedef çerçeve penceresinde yerleştirme için etkinleştirilen kenarlardan biriyle eşleşmelidir veya denetim çubuğu bu çerçeve penceresine yerleştirilemez.
CControlBar::GetBarStyle
Denetim çubuğu için şu anda hangi CBRS_ (denetim çubuğu stilleri) ayarlarının ayarlandığını belirlemek için bu işlevi çağırın.
DWORD GetBarStyle();
Dönüş Değeri
Denetim çubuğu için geçerli CBRS_ (denetim çubuğu stilleri) ayarları. Kullanılabilir stillerin tam listesi için bkz . CControlBar::SetBarStyle .
Açıklamalar
WS_ (pencere stili) stillerini işlemez.
CControlBar::GetBorders
Denetim çubuğu için geçerli kenarlık değerlerini döndürür.
CRect GetBorders() const;
Dönüş Değeri
CRect
Denetim çubuğu nesnesinin her bir tarafının geçerli genişliğini (piksel cinsinden) içeren nesne. Örneğin, CRect nesnesinin sol üyesinin değeri, sol kenarlık genişliğidir.
CControlBar::GetCount
Nesnedeki HWND olmayan öğelerin CControlBar
sayısını döndürür.
int GetCount() const;
Dönüş Değeri
Nesnedeki CControlBar
HWND olmayan öğelerin sayısı. Bu işlev bir CDialogBar nesnesi için 0 döndürür.
Açıklamalar
Öğenin türü türetilen nesneye bağlıdır: CStatusBar nesneleri için bölmeler ve CToolBar nesneleri için düğmeler ve ayırıcılar.
CControlBar::GetDockingFrame
Denetim çubuğunuzun yerleştirildiği geçerli çerçeve penceresine bir işaretçi almak için bu üye işlevini çağırın.
CFrameWnd* GetDockingFrame() const;
Dönüş Değeri
Başarılı olursa çerçeve penceresi işaretçisi; aksi takdirde NULL.
Denetim çubuğu bir çerçeve penceresine yerleştirilmemişse (yani, denetim çubuğu kayansa), bu işlev üst CMiniFrameWnd öğesine bir işaretçi döndürür.
Açıklamalar
Yerleştirilebilir denetim çubukları hakkında daha fazla bilgi için bkz . CControlBar::EnableDocking ve CFrameWnd::D ockControlBar.
CControlBar::IsFloating
Denetim çubuğunun kayan mı yoksa yerleşik mi olduğunu belirlemek için bu üye işlevini çağırın.
BOOL IsFloating() const;
Dönüş Değeri
Denetim çubuğu kayan ise sıfır olmayan; aksi takdirde 0.
Açıklamalar
Yerleşik denetim çubuğunun durumunu kayan olarak değiştirmek için CFrameWnd::FloatControlBar'ı çağırın.
CControlBar::m_bAutoDelete
Sıfır değilse, CControlBar
Windows denetim çubuğu yok edildiğinde nesne silinir.
BOOL m_bAutoDelete;
Açıklamalar
m_bAutoDelete BOOL türünde bir ortak değişkendir.
Denetim çubuğu nesnesi genellikle bir çerçeve penceresi nesnesine eklenir. Bu durumda, çerçeve penceresi yok edildiğinde eklenmiş denetim çubuğu nesnesi yok edildiğinden m_bAutoDelete 0 olur.
Yığında bir nesne ayırırsanız ve çağırmayı delete
planlamıyorsanız, bu değişkeni sıfır olmayan bir CControlBar
değere ayarlayın.
CControlBar::m_pInPlaceOwner
Denetim çubuğunun yerinde sahibi.
CWnd* m_pInPlaceOwner;
CControlBar::OnUpdateCmdUI
Bu üye işlevi, araç çubuğunun veya durum çubuğunun durumunu güncelleştirmek için çerçeve tarafından çağrılır.
virtual void OnUpdateCmdUI(
CFrameWnd* pTarget,
BOOL bDisableIfNoHndler) = 0;
Parametreler
pTarget
Uygulamanın ana çerçeve penceresini gösterir. Bu işaretçi, güncelleştirme iletilerini yönlendirmek için kullanılır.
bDisableIfNoHndler
Güncelleştirme işleyicisi olmayan bir denetimin otomatik olarak devre dışı olarak görüntülenip görüntülenmeyeceğini gösteren bayrak.
Açıklamalar
Tek bir düğmeyi veya bölmeyi güncelleştirmek için, ileti eşlemenizdeki ON_UPDATE_COMMAND_UI makroyu kullanarak bir güncelleştirme işleyicisini uygun şekilde ayarlayın. Bu makro kullanma hakkında daha fazla bilgi için bkz . ON_UPDATE_COMMAND_UI .
OnUpdateCmdUI
uygulama boşta olduğunda çerçeve tarafından çağrılır. Güncelleştirilecek çerçeve penceresi, görünür bir çerçeve penceresinin en azından dolaylı olarak alt penceresi olmalıdır. OnUpdateCmdUI
gelişmiş geçersiz kılınabilir.
CControlBar::SetBarStyle
Denetim çubuğu için istenen CBRS_ stillerini ayarlamak için bu işlevi çağırın.
void SetBarStyle(DWORD dwStyle);
Parametreler
dwStyle
Denetim çubuğu için istenen stiller. Aşağıdakilerden biri veya daha fazlası olabilir:
CBRS_ALIGN_TOP Denetim çubuğunun bir çerçeve penceresinin istemci alanının en üstüne yerleştirmesine izin verir.
CBRS_ALIGN_BOTTOM Denetim çubuğunun bir çerçeve penceresinin istemci alanının altına yerleştirmesine izin verir.
CBRS_ALIGN_LEFT Denetim çubuğunun çerçeve penceresinin istemci alanının sol tarafına yerleştirmesine izin verir.
CBRS_ALIGN_RIGHT Denetim çubuğunun çerçeve penceresinin istemci alanının sağ tarafına yerleştirmesine izin verir.
CBRS_ALIGN_ANY Denetim çubuğunun bir çerçeve penceresinin istemci alanının herhangi bir tarafına yerleştirmesine izin verir.
CBRS_BORDER_TOP Görünür olduğunda denetim çubuğunun üst kenarına kenarlık çizilmesine neden olur.
CBRS_BORDER_BOTTOM Görünür olduğunda denetim çubuğunun alt kenarına kenarlık çizilmesine neden olur.
CBRS_BORDER_LEFT Görünür olduğunda denetim çubuğunun sol kenarına kenarlık çizilmesine neden olur.
CBRS_BORDER_RIGHT Görünür olduğunda denetim çubuğunun sağ kenarına kenarlık çizilmesine neden olur.
CBRS_FLOAT_MULTI Birden çok denetim çubuğunun tek bir mini çerçeve penceresinde kaydırılmasına izin verir.
CBRS_TOOLTIPS Denetim çubuğu için araç ipuçlarının görüntülenmesine neden olur.
CBRS_FLYBY İleti metninin araç ipuçlarıyla aynı anda güncelleştirilmiş olmasını sağlar.
CBRS_GRIPPER Nesnedeki bantlarda kullanılana benzer bir kavramanın türetilmiş herhangi
CControlBar
birCReBar
sınıf için çizilmesine neden olur.
Açıklamalar
WS_ (pencere stili) ayarlarını etkilemez.
CControlBar::SetBorders
Denetim çubuğunun kenarlıklarının boyutunu ayarlamak için bu işlevi çağırın.
void SetBorders(
int cxLeft = 0,
int cyTop = 0,
int cxRight = 0,
int cyBottom = 0);
void SetBorders(LPCRECT lpRect);
Parametreler
cxLeft
Denetim çubuğunun sol kenarlarının genişliği (piksel cinsinden).
cyTop
Denetim çubuğunun üst kenarının yüksekliği (piksel cinsinden).
cxRight
Denetim çubuğunun sağ kenarlık genişliği (piksel cinsinden).
cyBottom
Denetim çubuğunun alt kenarlarının yüksekliği (piksel cinsinden).
lpRect
Denetim çubuğu nesnesinin her kenarının geçerli genişliğini (piksel) içeren bir CRect nesnesi işaretçisi.
Örnek
Aşağıdaki kod örneği, denetim çubuğunun üst ve alt kenarlıklarını 5 piksel, sol ve sağ kenarlıklarını ise 2 piksel olarak ayarlar:
CControlBar &m_myControlBar = m_Rebar;
m_myControlBar.SetBorders(2, 5, 2, 5);
CControlBar::SetInPlaceOwner
Denetim çubuğunun yerinde sahibini değiştirir.
void SetInPlaceOwner(CWnd* pWnd);
Parametreler
pWnd
Nesne işaretçisi CWnd
.
Açıklamalar
Ayrıca bkz.
MFC Örnek CTRLBAR'ları
CWnd Sınıfı
Hiyerarşi Grafiği
CToolBar Sınıfı
CDialogBar Sınıfı
CStatusBar Sınıfı
CReBar Sınıfı