Aracılığıyla paylaş


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

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

Genel Yöntemler

Ad Tanım
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

Ad Tanım
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 CControlBardaha fazla bilgi için bkz:

Devralma Hiyerarşisi

Cobject

Ccmdtarget

Cwnd

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.

İade Değeri

CSize nesnesinin piksel cinsinden denetim çubuğu boyutu.

Açıklamalar

öğesinden CControlBartü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 CControlBartü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.

İade 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
DOĞRU DOĞRU Yatay esnetme Yatay olarak yönlendirilmiş Yerleştirilmiyor
DOĞRU FALSE Dikey esnetme Dikey olarak yönlendirilmiş Yerleştirilmiyor
FALSE DOĞRU 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();

İade 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;

İade 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;

İade 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;

İade 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;

İade 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ı deleteplanlamı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 CControlBarbir CReBar 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ı