Aracılığıyla paylaş


CSplitterWnd Sınıf

Birden çok bölme içeren bir pencere olan bölücü penceresinin işlevselliğini sağlar.

Sözdizimi

class CSplitterWnd : public CWnd

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CSplitterWnd::CSplitterWnd Nesne CSplitterWnd oluşturmak için çağrısı yapın.

Genel Yöntemler

Veri Akışı Adı Açıklama
CSplitterWnd::ActivateNext Sonraki Bölme veya Önceki Bölme komutunu gerçekleştirir.
CSplitterWnd::CanActivateNext Sonraki Bölme veya Önceki Bölme komutunun şu anda mümkün olup olmadığını denetler.
CSplitterWnd::Create Dinamik bir bölücü penceresi oluşturmak ve bunu nesnesine eklemek için çağrısı yapın CSplitterWnd .
CSplitterWnd::CreateScrollBarCtrl Paylaşılan bir kaydırma çubuğu denetimi oluşturur.
CSplitterWnd::CreateStatic Statik bir bölücü penceresi oluşturmak ve bunu nesneye eklemek için çağrısı yapın CSplitterWnd .
CSplitterWnd::CreateView Bölücü penceresinde bölme oluşturmak için çağrısı yapın.
CSplitterWnd::DeleteColumn Bölücü penceresinden bir sütunu siler.
CSplitterWnd::DeleteRow Bölücü penceresinden bir satırı siler.
CSplitterWnd::DeleteView Bölücü penceresinden bir görünümü siler.
CSplitterWnd::DoKeyboardSplit Genellikle "Pencere Bölme" olan klavye bölme komutunu gerçekleştirir.
CSplitterWnd::DoScroll Bölünmüş pencerelerin eşitlenmiş kaydırmasını gerçekleştirir.
CSplitterWnd::DoScrollBy Pencereleri belirli bir piksel sayısına göre böler.
CSplitterWnd::GetActivePane Etkin bölmeyi odaktan veya çerçevedeki etkin görünümden belirler.
CSplitterWnd::GetColumnCount Geçerli bölme sütun sayısını döndürür.
CSplitterWnd::GetColumnInfo Belirtilen sütundaki bilgileri döndürür.
CSplitterWnd::GetPane Belirtilen satır ve sütundaki bölmeyi döndürür.
CSplitterWnd::GetRowCount Geçerli bölme satır sayısını döndürür.
CSplitterWnd::GetRowInfo Belirtilen satırdaki bilgileri döndürür.
CSplitterWnd::GetScrollStyle Paylaşılan kaydırma çubuğu stilini döndürür.
CSplitterWnd::IdFromRowCol Belirtilen satır ve sütundaki bölmenin alt pencere kimliğini döndürür.
CSplitterWnd::IsChildPane Pencerenin şu anda bu bölücü pencerenin alt bölmesi olup olmadığını belirlemek için çağrısı yapın.
CSplitterWnd::IsTracking Bölücü çubuğunun şu anda taşınıp taşınmadığını belirler.
CSplitterWnd::RecalcLayout Satır veya sütun boyutunu ayarladıktan sonra bölücü penceresini yeniden görüntülemek için çağrısı yapın.
CSplitterWnd::SetActivePane Bölmeyi, çerçevedeki etkin bölme olacak şekilde ayarlar.
CSplitterWnd::SetColumnInfo Belirtilen sütun bilgilerini ayarlamak için çağrısı.
CSplitterWnd::SetRowInfo Belirtilen satır bilgilerini ayarlamak için çağırın.
CSplitterWnd::SetScrollStyle Bölücü penceresinin paylaşılan kaydırma çubuğu desteği için yeni kaydırma çubuğu stilini belirtir.
CSplitterWnd::SplitColumn Çerçeve penceresinin dikey olarak nereye bölündüğünü gösterir.
CSplitterWnd::SplitRow Çerçeve penceresinin yatay olarak nereye bölündüğünü gösterir.

Korumalı Yöntemler

Veri Akışı Adı Açıklama
CSplitterWnd::OnDraw Bölücü penceresini çizmek için çerçeve tarafından çağrılır.
CSplitterWnd::OnDrawSplitter Bölünmüş pencerenin görüntüsünü işler.
CSplitterWnd::OnInvertTracker Bölünmüş pencerenin görüntüsünü çerçeve penceresiyle aynı boyutta ve şekilde işler.

Açıklamalar

Bölme genellikle öğesinden CViewtüretilen uygulamaya özgü bir nesnedir, ancak uygun alt pencere kimliğine sahip herhangi bir CWnd nesne olabilir.

Nesne CSplitterWnd genellikle bir üst CFrameWnd öğeye veya CMDIChildWnd nesneye eklenir. Aşağıdaki adımları kullanarak bir CSplitterWnd nesne oluşturun:

  1. Üst çerçeveye üye CSplitterWnd değişkeni ekleme.

  2. Üst çerçevenin CFrameWnd::OnCreateClient üye işlevini geçersiz kılın.

  3. geçersiz kılınan içinden veya CreateStatic üyesi işlevini çağırın Create CSplitterWnd.OnCreateClient

Create Dinamik bölücü penceresi oluşturmak için üye işlevini çağırın. Dinamik bölücü penceresi genellikle aynı belgenin bir dizi ayrı bölmesini veya görünümünü oluşturmak ve kaydırmak için kullanılır. Çerçeve, bölücü için otomatik olarak bir başlangıç bölmesi oluşturur; ardından, kullanıcı bölücü penceresinin denetimlerini çalıştırdıkça çerçeve ek bölmeler oluşturur, yeniden boyutlandırılır ve atılır.

çağırdığınızda Create, bölmelerin tam olarak görüntülenemeyecek kadar küçük olduğunu belirleyen en düşük satır yüksekliğini ve sütun genişliğini belirtirsiniz. çağrısı Createyaptıktan sonra ve SetRowInfo üye işlevlerini çağırarak SetColumnInfo bu minimum değerleri ayarlayabilirsiniz.

Ayrıca ve SetRowInfo üye işlevlerini kullanarak SetColumnInfo bir sütun için "ideal" genişlik ve satır için "ideal" yükseklik ayarlayın. Çerçeve bir bölücü penceresi görüntülediğinde, önce üst çerçeveyi, sonra bölücü penceresini görüntüler. Çerçeve daha sonra bölmeleri ideal boyutlarına göre sütunlar ve satırlar halinde yerleştirir ve bölme penceresinin istemci alanının sol üst köşesinden sağ alt köşesine kadar çalışır.

Dinamik bölücü penceresindeki tüm bölmeler aynı sınıfta olmalıdır. Dinamik bölücü pencereleri destekleyen tanıdık uygulamalar Microsoft Word ve Microsoft Excel'i içerir.

CreateStatic Statik bölücü penceresi oluşturmak için üye işlevini kullanın. Kullanıcı, sayı veya sırasını değil, yalnızca statik bölücü penceresindeki bölmelerin boyutunu değiştirebilir.

Statik ayırıcıyı oluştururken özellikle tüm statik bölücü bölmelerini oluşturmanız gerekir. Üst çerçevenin OnCreateClient üye işlevi dönmeden önce tüm bölmeleri oluşturduğunuzdan emin olun, aksi durumda çerçeve pencereyi doğru şekilde görüntülemez.

CreateStatic Üye işlevi, en düşük satır yüksekliği ve sütun genişliği 0 olan statik ayırıcıyı otomatik olarak başlatır. çağrısı Createyaptıktan sonra ve SetRowInfo üye işlevlerini çağırarak SetColumnInfo bu minimum değerleri ayarlayın. ayrıca istenen ideal bölme boyutlarını belirtmek için ve SetRowInfo çağrısı CreateStatic yaptıktan sonra kullanınSetColumnInfo.

Statik bölücülerin tek tek bölmeleri genellikle farklı sınıflara aittir. Statik bölücü pencerelerin örnekleri için grafik düzenleyicisine ve Windows Dosya Yöneticisi'ne bakın.

Bölücü penceresi özel kaydırma çubuklarını destekler (bölmelerin sahip olabileceği kaydırma çubuklarının dışında). Bu kaydırma çubukları nesnenin CSplitterWnd alt öğeleridir ve bölmelerle paylaşılır.

Bölücü penceresini oluştururken bu özel kaydırma çubuklarını oluşturursunuz. Örneğin, CSplitterWnd bir satırı, iki sütunu olan ve WS_VSCROLL stilde iki bölme tarafından paylaşılan dikey kaydırma çubuğu görüntülenir. Kullanıcı kaydırma çubuğunu taşırken, WM_VSCROLL iletiler her iki bölmeye de gönderilir. Bölmeler kaydırma çubuğu konumunu belirlediğinde, paylaşılan kaydırma çubuğu ayarlanır.

Bölücü pencereler hakkında daha fazla bilgi için bkz . Teknik Not 29.

Dinamik bölücü pencereleri oluşturma hakkında daha fazla bilgi için bkz:

Devralma Hiyerarşisi

CObject

CCmdTarget

CWnd

CSplitterWnd

Gereksinimler

Üstbilgi: afxext.h

CSplitterWnd::ActivateNext

Sonraki Bölme veya Önceki Bölme komutunu gerçekleştirmek için çerçeve tarafından çağrılır.

virtual void ActivateNext(BOOL bPrev = FALSE);

Parametreler

bPrev
Hangi pencerenin etkinleştirebileceğinizi gösterir. TRUE önceki için; FALSE öğesini seçin.

Açıklamalar

Bu üye işlevi, sınıfı tarafından CView uygulamaya temsilci atamak CSplitterWnd için kullanılan üst düzey bir komutdur.

CSplitterWnd::CanActivateNext

Sonraki Bölme veya Önceki Bölme komutunun şu anda mümkün olup olmadığını denetlemek için çerçeve tarafından çağrılır.

virtual BOOL CanActivateNext(BOOL bPrev = FALSE);

Parametreler

bPrev
Hangi pencerenin etkinleştirebileceğinizi gösterir. TRUE önceki için; FALSE öğesini seçin.

Dönüş Değeri

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

Açıklamalar

Bu üye işlevi, sınıfı tarafından CView uygulamaya temsilci atamak CSplitterWnd için kullanılan üst düzey bir komutdur.

CSplitterWnd::Create

Dinamik bölücü penceresi oluşturmak için üye işlevini çağırın Create .

virtual BOOL Create(
    CWnd* pParentWnd,
    int nMaxRows,
    int nMaxCols,
    SIZE sizeMin,
    CCreateContext* pContext,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | SPLS_DYNAMIC_SPLIT,
    UINT nID = AFX_IDW_PANE_FIRST);

Parametreler

pParentWnd
Bölücü penceresinin üst çerçeve penceresi.

nMaxRows
Bölücü penceresindeki en fazla satır sayısı. Bu değer 2'yi aşmamalıdır.

nMaxCols
Bölücü penceresindeki en fazla sütun sayısı. Bu değer 2'yi aşmamalıdır.

sizeMin
Bir bölmenin görüntülenebileceği en düşük boyutu belirtir.

pContext
Bir yapıya işaretçi CCreateContext . Çoğu durumda bu, üst çerçeve penceresine geçirilebilir pContext .

dwStyle
Pencere stilini belirtir.

nID
Pencerenin alt pencere kimliği. Bölücü penceresi başka bir bölücü penceresinin içine yerleştirilmediği sürece kimlik olabilir AFX_IDW_PANE_FIRST .

Dönüş Değeri

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

Açıklamalar

Aşağıdaki adımları uygulayarak bir üst CFrameWnd öğeye veya CMDIChildWnd nesneye ekleyebilirsinizCSplitterWnd:

  1. Üst çerçeveye üye CSplitterWnd değişkeni ekleme.

  2. Üst çerçevenin CFrameWnd::OnCreateClient üye işlevini geçersiz kılın.

  3. Create Geçersiz kılınan OnCreateClientiçinden üye işlevini çağırın.

Bir üst çerçevenin içinden bir bölücü penceresi oluşturduğunuzda, üst çerçevenin pContext parametresini bölücü penceresine geçirin. Aksi takdirde, bu parametre olabilir NULL.

Dinamik bölücü penceresinin ilk en düşük satır yüksekliği ve sütun genişliği parametresi tarafından sizeMin ayarlanır. Bir bölmenin tamamıyla gösterilemeyecek kadar küçük olup olmadığını belirleyen bu minimum değerler ve SetColumnInfo üye işlevleriyle SetRowInfo değiştirilebilir.

Dinamik bölücü pencereler hakkında daha fazla bilgi için Birden Çok Belge Türü, Görünüm ve Çerçeve Penceresi, Teknik Not 29 ve sınıfa genel bakış makalesindeki CSplitterWnd "Bölücü Pencereler" bölümüne bakın.

Örnek

// the following function is created by the MFC Application Wizard
// when you select Split window from the User Interface Features tab:
BOOL CMyChildFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext *pContext)
{
   return m_wndSplitter.Create(this,
                               2, 2,          // TODO: adjust the number of rows, columns
                               CSize(10, 10), // TODO: adjust the minimum pane size
                               pContext);
}

CSplitterWnd::CreateScrollBarCtrl

Paylaşılan kaydırma çubuğu denetimi oluşturmak için çerçeve tarafından çağrılır.

virtual BOOL CreateScrollBarCtrl(
    DWORD dwStyle,
    UINT nID);

Parametreler

dwStyle
Pencere stilini belirtir.

nID
Pencerenin alt pencere kimliği. Bölücü penceresi başka bir bölücü penceresinin içine yerleştirilmediği sürece kimlik olabilir AFX_IDW_PANE_FIRST .

Dönüş Değeri

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

Açıklamalar

Kaydırma çubuğunun yanına ek denetimler eklemek için geçersiz kılın CreateScrollBarCtrl . Varsayılan davranış, normal Windows kaydırma çubuğu denetimleri oluşturmaktır.

CSplitterWnd::CreateStatic

Statik bölücü penceresi oluşturmak için üye işlevini çağırın CreateStatic .

virtual BOOL CreateStatic(
    CWnd* pParentWnd,
    int nRows,
    int nCols,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE,
    UINT nID = AFX_IDW_PANE_FIRST);

Parametreler

pParentWnd
Bölücü penceresinin üst çerçeve penceresi.

nRows
Sıra sayısı. Bu değer 16'nın üzerinde olmamalıdır.

nCols
Sütun sayısı. Bu değer 16'nın üzerinde olmamalıdır.

dwStyle
Pencere stilini belirtir.

nID
Pencerenin alt pencere kimliği. Bölücü penceresi başka bir bölücü penceresinin içine yerleştirilmediği sürece kimlik olabilir AFX_IDW_PANE_FIRST .

Dönüş Değeri

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

Açıklamalar

genellikle CSplitterWnd aşağıdaki adımlar uygulanarak bir üst CFrameWnd öğeye veya CMDIChildWnd nesneye eklenir:

  1. Üst çerçeveye üye CSplitterWnd değişkeni ekleme.

  2. Üst çerçevenin OnCreateClient üye işlevini geçersiz kılın.

  3. CreateStatic Geçersiz kılınan CFrameWnd::OnCreateClientiçinden üye işlevini çağırın.

Statik bölücü penceresi, genellikle farklı sınıflardan sabit sayıda bölme içerir.

Statik bölücü penceresi oluşturduğunuzda, tüm bölmelerini aynı anda oluşturmanız gerekir. CreateView Üye işlevi genellikle bu amaç için kullanılır, ancak başka görünüm dışı sınıflar da oluşturabilirsiniz.

Statik bölücü penceresinin ilk en düşük satır yüksekliği ve sütun genişliği 0'dır. Bir bölmenin tam olarak gösterilemeyecek kadar küçük olduğunu belirleyen bu minimum değerler ve SetColumnInfo üye işlevleriyle SetRowInfo değiştirilebilir.

Statik bölücü penceresine kaydırma çubukları eklemek için ve WS_VSCROLL stillerini öğesine dwStyleekleyinWS_HSCROLL.

Statik bölücü pencereler hakkında daha fazla bilgi için Birden Çok Belge Türü, Görünüm ve Çerçeve Penceresi, Teknik Not 29 ve sınıfa genel bakış makalesindeki CSplitterWnd "Bölücü Windows" bölümüne bakın.

CSplitterWnd::CreateView

Statik bölücü penceresi için bölmeler oluşturur.

virtual BOOL CreateView(
    int row,
    int col,
    CRuntimeClass* pViewClass,
    SIZE sizeInit,
    CCreateContext* pContext);

Parametreler

row
Yeni görünümün yerleştirildiği bölücü pencere satırını belirtir.

col
Yeni görünümün yerleştirildiği bölücü pencere sütununu belirtir.

pViewClass
CRuntimeClass Yeni görünümü belirtir.

sizeInit
Yeni görünümün ilk boyutunu belirtir.

pContext
Görünümü oluşturmak için kullanılan bir oluşturma bağlamı işaretçisi (genellikle pContext bölücü penceresinin oluşturulduğu üst çerçevenin geçersiz kılınan CFrameWnd::OnCreateClient üye işlevine geçirilir).

Dönüş Değeri

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

Açıklamalar

Bir statik bölücü penceresinin tüm bölmeleri, çerçeve bölücü görüntülenmeden önce oluşturulmalıdır.

Çerçeve, dinamik bölücü penceresinin kullanıcısı bir bölmeyi, satırı veya sütunu böldüğünde yeni bölmeler oluşturmak için bu üye işlevini de çağırır.

Örnek

// this function creates the panes for a static splitter window
BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext *pContext)
{
   m_bSplitterCreated = m_wndSplitter.CreateStatic(this, 1, 2);
   // CMyView and CMyOtherView are user-defined views derived from CView
   m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CMyView), CSize(0, 0),
                            pContext);
   m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CMyOtherView), CSize(0, 0),
                            pContext);

   return (m_bSplitterCreated);
}

CSplitterWnd::CSplitterWnd

Nesne CSplitterWnd oluşturmak için çağrısı yapın.

CSplitterWnd();

Açıklamalar

İki adımda bir CSplitterWnd nesne oluşturun. İlk olarak, nesnesini oluşturan oluşturucuyu çağırın CSplitterWnd ve ardından bölücü penceresini oluşturan ve nesneye ekleyen üye işlevini çağırın Create CSplitterWnd .

CSplitterWnd::DeleteColumn

Bölücü penceresinden bir sütunu siler.

virtual void DeleteColumn(int colDelete);

Parametreler

colDelete
Silinecek sütunu belirtir.

Açıklamalar

Bu üye işlevi, dinamik bölücü penceresinin mantığını uygulamak için çerçeve tarafından çağrılır (yani bölücü penceresinde SPLS_DYNAMIC_SPLIT stil varsa). Daha gelişmiş dinamik bölücüler uygulamak için sanal işleviyle CreateViewbirlikte özelleştirilebilir.

CSplitterWnd::DeleteRow

Bölücü penceresinden bir satırı siler.

virtual void DeleteRow(int rowDelete);

Parametreler

rowDelete
Silinecek satırı belirtir.

Açıklamalar

Bu üye işlevi, dinamik bölücü penceresinin mantığını uygulamak için çerçeve tarafından çağrılır (yani bölücü penceresinde SPLS_DYNAMIC_SPLIT stil varsa). Daha gelişmiş dinamik bölücüler uygulamak için sanal işleviyle CreateViewbirlikte özelleştirilebilir.

CSplitterWnd::DeleteView

Bölücü penceresinden bir görünümü siler.

virtual void DeleteView(
    int row,
    int col);

Parametreler

row
Görünümün silineceği bölücü pencere satırını belirtir.

col
Görünümün silineceği bölücü pencere sütununu belirtir.

Açıklamalar

Etkin görünüm siliniyorsa, sonraki görünüm etkin hale gelir. Varsayılan uygulama, görünümün içinde PostNcDestroyotomatik olarak silineceğini varsayar.

Bu üye işlevi, dinamik bölücü penceresinin mantığını uygulamak için çerçeve tarafından çağrılır (yani bölücü penceresinde SPLS_DYNAMIC_SPLIT stil varsa). Daha gelişmiş dinamik bölücüler uygulamak için sanal işleviyle CreateViewbirlikte özelleştirilebilir.

CSplitterWnd::DoKeyboardSplit

Genellikle "Pencere Bölme" olan klavye bölme komutunu gerçekleştirir.

virtual BOOL DoKeyboardSplit();

Dönüş Değeri

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

Açıklamalar

Bu üye işlevi, sınıfı tarafından CView uygulamaya temsilci atamak CSplitterWnd için kullanılan üst düzey bir komutdur.

CSplitterWnd::DoScroll

Bölünmüş pencerelerin eşitlenmiş kaydırmasını gerçekleştirir.

virtual BOOL DoScroll(
    CView* pViewFrom,
    UINT nScrollCode,
    BOOL bDoScroll = TRUE);

Parametreler

pViewFrom
Kaydırma iletisinin kaynaklandığı görünümün işaretçisi.

nScrollCode
Kullanıcının kaydırma isteğini gösteren bir kaydırma çubuğu kodu. Bu parametre iki bölümden oluşur: yatay olarak gerçekleşen kaydırma türünü belirleyen düşük sıralı bayt ve dikey olarak gerçekleşen kaydırma türünü belirleyen yüksek sıralı bir bayt:

  • SB_BOTTOM En alta kaydırıyor.

  • SB_LINEDOWN Bir satır aşağı kaydırır.

  • SB_LINEUP Bir satır yukarı kaydırıyor.

  • SB_PAGEDOWN Bir sayfa aşağı kaydırır.

  • SB_PAGEUP Bir sayfa yukarı kaydırıyor.

  • SB_TOP En üste kayar.

bDoScroll
Belirtilen kaydırma eyleminin gerçekleşip gerçekleşmediğini belirler. Ise bDoScroll TRUE (başka bir ifadeyle, bir alt pencere varsa ve bölünmüş pencerelerin kaydırma aralığı varsa), belirtilen kaydırma eylemi gerçekleşebilir; bDoScroll FALSE varsa (yani, alt pencere yoksa veya bölünmüş görünümlerde kaydırma aralığı yoksa) kaydırma gerçekleşmez.

Dönüş Değeri

Eşitlenmiş kaydırma gerçekleşirse sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu üye işlevi, görünüm bir kaydırma iletisi aldığında bölünmüş pencerelerin eşitlenmiş kaydırmasını gerçekleştirmek için çerçeve tarafından çağrılır. Eşitlenmiş kaydırmaya izin verilmeden önce kullanıcı tarafından bir eylem gerektirmek için geçersiz kılın.

CSplitterWnd::DoScrollBy

Pencereleri belirli bir piksel sayısına göre böler.

virtual BOOL DoScrollBy(
    CView* pViewFrom,
    CSize sizeScroll,
    BOOL bDoScroll = TRUE);

Parametreler

pViewFrom
Kaydırma iletisinin kaynaklandığı görünümün işaretçisi.

sizeScroll
Yatay ve dikey olarak kaydırılacak piksel sayısı.

bDoScroll
Belirtilen kaydırma eyleminin gerçekleşip gerçekleşmediğini belirler. Ise bDoScroll TRUE (başka bir ifadeyle, bir alt pencere varsa ve bölünmüş pencerelerin kaydırma aralığı varsa), belirtilen kaydırma eylemi gerçekleşebilir; bDoScroll FALSE varsa (yani, alt pencere yoksa veya bölünmüş görünümlerde kaydırma aralığı yoksa) kaydırma gerçekleşmez.

Dönüş Değeri

Eşitlenmiş kaydırma gerçekleşirse sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu üye işlevi, bir kaydırma iletisine yanıt olarak çerçeve tarafından çağrılır ve bölünmüş pencerelerin piksel cinsinden sizeScrolleşitlenmiş kaydırmasını gerçekleştirir. Pozitif değerler aşağı ve sağa kaydırmayı gösterir; negatif değerler yukarı ve sola kaydırmayı gösterir.

Kaydırmaya izin vermeden önce kullanıcı tarafından bir eylem gerektirecek şekilde geçersiz kılın.

CSplitterWnd::GetActivePane

Etkin bölmeyi odaktan veya çerçevedeki etkin görünümden belirler.

virtual CWnd* GetActivePane(
    int* pRow = NULL,
    int* pCol = NULL);

Parametreler

pRow
Etkin bölmenin satır numarasını almak için işaretçi int .

pCol
Etkin bölmenin sütun numarasını almak için işaretçi int .

Dönüş Değeri

Etkin bölme işaretçisi. NULL etkin bir bölme yoksa.

Açıklamalar

Bu üye işlevi, bir bölücü penceresindeki etkin bölmeyi belirlemek için çerçeve tarafından çağrılır. Etkin bölmeyi almadan önce kullanıcının eylemini zorunlu kılmak için geçersiz kılın.

CSplitterWnd::GetColumnCount

Geçerli bölme sütun sayısını döndürür.

int GetColumnCount() const;

Dönüş Değeri

Bölücüdeki geçerli sütun sayısını döndürür. Statik bölücü için bu aynı zamanda en fazla sütun sayısıdır.

CSplitterWnd::GetColumnInfo

Belirtilen sütundaki bilgileri döndürür.

void GetColumnInfo(
    int col,
    int& cxCur,
    int& cxMin) const;

Parametreler

col
Bir sütun belirtir.

cxCur
Sütunun geçerli genişliğine ayarlanacak bir int başvuru.

cxMin
Sütunun geçerli minimum genişliğine ayarlanacak bir int başvuru.

CSplitterWnd::GetPane

Belirtilen satır ve sütundaki bölmeyi döndürür.

CWnd* GetPane(
    int row,
    int col) const;

Parametreler

row
Bir satır belirtir.

col
Bir sütun belirtir.

Dönüş Değeri

Belirtilen satır ve sütundaki bölmeyi döndürür. Döndürülen bölme genellikle türetilmiş bir CViewsınıftır.

CSplitterWnd::GetRowCount

Geçerli bölme satır sayısını döndürür.

int GetRowCount() const;

Dönüş Değeri

Bölücü penceresindeki geçerli satır sayısını döndürür. Statik bölücü penceresi için, bu aynı zamanda en fazla satır sayısıdır.

CSplitterWnd::GetRowInfo

Belirtilen satırdaki bilgileri döndürür.

void GetRowInfo(
    int row,
    int& cyCur,
    int& cyMin) const;

Parametreler

row
Bir satır belirtir.

cyCur
int Satırın geçerli yüksekliğine piksel cinsinden ayarlanacak başvuru.

cyMin
int Piksel cinsinden satırın geçerli en düşük yüksekliğine ayarlanacak başvuru.

Açıklamalar

Belirtilen satır hakkında bilgi almak için bu üye işlevini çağırın. cyCur parametresi belirtilen satırın geçerli yüksekliğiyle doldurulur ve cyMin satırın en düşük yüksekliğiyle doldurulur.

CSplitterWnd::GetScrollStyle

Bölücü penceresi için paylaşılan kaydırma çubuğu stilini döndürür.

DWORD GetScrollStyle() const;

Dönüş Değeri

Başarılı olursa, aşağıdaki Windows stili bayraklardan biri veya daha fazlası:

  • WS_HSCROLL Bölücü şu anda paylaşılan yatay kaydırma çubuklarını yönetiyorsa.

  • WS_VSCROLL Bölücü şu anda paylaşılan dikey kaydırma çubuklarını yönetiyorsa.

Sıfır ise, bölücü penceresi şu anda paylaşılan kaydırma çubuklarını yönetmez.

CSplitterWnd::IdFromRowCol

Belirtilen satır ve sütundaki bölme için alt pencere kimliğini alır.

int IdFromRowCol(
    int row,
    int col) const;

Parametreler

row
Bölücü pencere satırını belirtir.

col
Bölücü pencere sütununu belirtir.

Dönüş Değeri

Bölmenin alt pencere kimliği.

Açıklamalar

Bu üye işlevi, bölmeler olarak görünümler oluşturmak için kullanılır ve bölme mevcut olmadan önce çağrılabilir.

Örnek

HBRUSH CMySplitterWnd::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
   HBRUSH hbr = CSplitterWnd::OnCtlColor(pDC, pWnd, nCtlColor);

   if (nCtlColor == CTLCOLOR_LISTBOX &&
       pWnd->GetDlgCtrlID() == IdFromRowCol(1, 0))
   {
      // Pane 1,0 is a list box. Set the color of the text to be blue.
      pDC->SetBkColor(m_BkColor);
      pDC->SetTextColor(RGB(0, 0, 255));
      return (HBRUSH)m_hbrListBoxBkgnd.GetSafeHandle();
   }
   // TODO: Return a different brush if the default is not desired
   return hbr;
}

CSplitterWnd::IsChildPane

Şu anda bu bölücü penceresinin alt bölmesi olup olmadığını pWnd belirler.

BOOL IsChildPane(
    CWnd* pWnd,
    int* pRow,
    int* pCol);

Parametreler

pWnd
Test edilecek nesnenin CWnd işaretçisi.

pRow
Satır numarasının depolandığı bir int işaretçi.

pCol
Sütun numarasının depolandığı bir işaretçi int .

Dönüş Değeri

Sıfır değilse, pWnd şu anda bu bölücü penceresinin alt bölmesidir ve pRow pCol bölme penceresindeki bölmenin konumuyla doldurulur. Bu bölücü penceresinin alt bölmesi değilse pWnd , 0 döndürülür.

Açıklamalar

6.0 öncesi Visual C++ sürümlerinde bu işlev

BOOL IsChildPane(CWnd* pWnd, int& row, int& col);

Bu sürüm artık kullanım dışıdır ve kullanılmamalıdır.

CSplitterWnd::IsTracking

Penceredeki bölücü çubuğunun şu anda taşınıp taşınmadığını belirlemek için bu üye işlevini çağırın.

BOOL IsTracking();

Dönüş Değeri

Bir bölücü işlemi devam ediyorsa sıfır olmayan; aksi takdirde 0.

CSplitterWnd::OnDrawSplitter

Bölünmüş pencerenin görüntüsünü işler.

virtual void OnDrawSplitter(
    CDC* pDC,
    ESplitType nType,
    const CRect& rect);

Parametreler

pDC
Çizilen cihaz bağlamı için bir işaretçi. ise pDC NULLCWnd::RedrawWindow, çerçeve tarafından çağrılır ve bölünmüş pencere çizilmemiştir.

nType
değeri enum ESplitType, aşağıdakilerden biri olabilir:

  • splitBox Bölücü sürükleme kutusu.

  • splitBar İki bölünmüş pencere arasında görünen çubuk.

  • splitIntersection Bölünmüş pencerelerin kesişimi. Bu öğe Windows 95/98'de çalıştırılırken çağrılmaz.

  • splitBorder Bölünmüş pencere kenarlıkları.

rect
Bölünmüş pencerelerin boyutunu ve şeklini belirten bir CRect nesne başvurusu.

Açıklamalar

Bu üye işlevi, bir bölücü penceresinin tam özelliklerini çizmek ve belirtmek için çerçeve tarafından çağrılır. Bölücü penceresinin çeşitli grafik bileşenleri için görüntülerin gelişmiş özelleştirmesi için geçersiz kılın OnDrawSplitter . Varsayılan görüntü, Windows için Microsoft Works veya Microsoft Windows 95/98'deki bölücüye benzer ve bölme çubuklarının kesişimleri birlikte karıştırılır.

Dinamik bölücü pencereler hakkında daha fazla bilgi için Birden Çok Belge Türü, Görünüm ve Çerçeve Penceresi, Teknik Not 29 ve sınıfa genel bakış makalesindeki CSplitterWnd "Bölücü Pencereler" bölümüne bakın.

CSplitterWnd::OnInvertTracker

Bölünmüş pencerenin görüntüsünü çerçeve penceresiyle aynı boyutta ve şekilde işler.

virtual void OnInvertTracker(const CRect& rect);

Parametreler

rect
İzleme dikdörtgenini belirten bir CRect nesneye başvuru.

Açıklamalar

Bu üye işlevi, bölücülerin yeniden boyutlandırılırken çerçeve tarafından çağrılır. Bölücü penceresinin görüntüsünün gelişmiş özelleştirmesi için geçersiz kılın OnInvertTracker . Varsayılan görüntü, Windows için Microsoft Works veya Microsoft Windows 95/98'deki bölücüye benzer ve bölme çubuklarının kesişimleri birlikte karıştırılır.

Dinamik bölücü pencereler hakkında daha fazla bilgi için Birden Çok Belge Türü, Görünüm ve Çerçeve Penceresi, Teknik Not 29 ve sınıfa genel bakış makalesindeki CSplitterWnd "Bölücü Pencereler" bölümüne bakın.

CSplitterWnd::RecalcLayout

Satır veya sütun boyutunu ayarladıktan sonra bölücü penceresini yeniden görüntülemek için çağrısı yapın.

virtual void RecalcLayout();

Açıklamalar

ve SetColumnInfo üye işlevleriyle satır ve sütun boyutlarını ayarladıktan sonra bölücü penceresini doğru şekilde yeniden görüntülemek için bu üye işlevini çağırınSetRowInfo. Bölücü penceresi görünür olmadan önce oluşturma işleminin bir parçası olarak satır ve sütun boyutlarını değiştirirseniz, bu üye işlevini çağırmak gerekmez.

Kullanıcı bölücü penceresini yeniden boyutlandırsa veya bölmeyi her taşırken çerçeve bu üye işlevini çağırır.

Örnek

örneğine CSplitterWnd::SetColumnInfobakın.

CSplitterWnd::SetActivePane

Bölmeyi, çerçevedeki etkin bölme olacak şekilde ayarlar.

virtual void SetActivePane(
    int row,
    int col,
    CWnd* pWnd = NULL);

Parametreler

row
ise pWnd NULL, bölmede etkin olacak satırı belirtir.

col
ise pWnd NULL, bölmede etkin olacak sütunu belirtir.

pWnd
Nesne işaretçisi CWnd . ise NULLve tarafından row col belirtilen bölme etkin olarak ayarlanır. NULLdeğilse, etkin olarak ayarlanan bölmeyi belirtir.

Açıklamalar

Bu üye işlevi, kullanıcı odağı çerçeve penceresindeki bir bölmeye değiştirdiğinde bir bölmeyi etkin olarak ayarlamak için çerçeve tarafından çağrılır. Odağı belirtilen görünüme değiştirmek için açıkça çağırabilirsiniz SetActivePane .

Satır ve sütun sağlayarak veya pWndsağlayarak bölmeyi belirtin.

CSplitterWnd::SetColumnInfo

Belirtilen sütun bilgilerini ayarlamak için çağrısı.

void SetColumnInfo(
    int col,
    int cxIdeal,
    int cxMin);

Parametreler

col
Bölücü pencere sütununu belirtir.

cxIdeal
Bölücü pencere sütunu için piksel cinsinden ideal bir genişlik belirtir.

cxMin
Bölücü pencere sütunu için piksel cinsinden en düşük genişliği belirtir.

Açıklamalar

Bir sütun için yeni bir minimum genişlik ve ideal genişlik ayarlamak için bu üye işlevini çağır. Sütun minimum değeri, sütunun ne zaman tam olarak görüntülenemeyecek kadar küçük olacağını belirler.

Çerçeve bölücü penceresini görüntülediğinde bölmeleri ideal boyutlarına göre sütunlar ve satırlar halinde yerleştirir ve bölme penceresinin istemci alanının sol üst köşesinden sağ alt köşesine kadar çalışır.

Örnek

void CChildFrame::OnSize(UINT nType, int cx, int cy)
{
   CMDIChildWnd::OnSize(nType, cx, cy);

   CRect rect;
   GetWindowRect(&rect);
   if (m_bSplitterCreated) // m_bSplitterCreated set in OnCreateClient
   {
      m_wndSplitter.SetColumnInfo(0, rect.Width() / 2, 10);
      m_wndSplitter.SetColumnInfo(1, rect.Width() / 2, 10);
      m_wndSplitter.RecalcLayout();
   }
}

CSplitterWnd::SetRowInfo

Belirtilen satır bilgilerini ayarlamak için çağırın.

void SetRowInfo(
    int row,
    int cyIdeal,
    int cyMin);

Parametreler

row
Bölücü pencere satırını belirtir.

cyIdeal
Bölücü pencere satırı için piksel cinsinden ideal bir yükseklik belirtir.

cyMin
Bölücü pencere satırı için piksel cinsinden en düşük yüksekliği belirtir.

Açıklamalar

Bir satır için yeni bir en düşük yükseklik ve ideal yükseklik ayarlamak için bu üye işlevini çağır. Satır minimum değeri, satırın ne zaman tam olarak görüntülenemeyecek kadar küçük olacağını belirler.

Çerçeve bölücü penceresini görüntülediğinde bölmeleri ideal boyutlarına göre sütunlar ve satırlar halinde yerleştirir ve bölme penceresinin istemci alanının sol üst köşesinden sağ alt köşesine kadar çalışır.

CSplitterWnd::SetScrollStyle

Bölücü penceresinin paylaşılan kaydırma çubuğu desteği için yeni kaydırma stilini belirtir.

void SetScrollStyle(DWORD dwStyle);

Parametreler

dwStyle
Bölücü penceresinin paylaşılan kaydırma çubuğu desteği için yeni kaydırma stili, aşağıdaki değerlerden biri olabilir:

  • WS_HSCROLL Yatay paylaşılan kaydırma çubukları oluşturun/gösterin.

  • WS_VSCROLL Dikey paylaşılan kaydırma çubukları oluşturma/gösterme.

Açıklamalar

Bir kaydırma çubuğu oluşturulduktan sonra, bu stil olmadan çağrılsa SetScrollStyle bile yok edilmeyecektir; bunun yerine bu kaydırma çubukları gizlenir. Bu, kaydırma çubuklarının gizli olsalar bile durumlarını korumalarını sağlar. çağrısı SetScrollStyleyaptıktan sonra tüm değişikliklerin etkili olması için çağrısı RecalcLayout yapmak gerekir.

CSplitterWnd::SplitColumn

Çerçeve penceresinin dikey olarak nereye bölündüğünü gösterir.

virtual BOOL SplitColumn(int cxBefore);

Parametreler

cxBefore
Bölmenin gerçekleşmeden önce piksel cinsinden konumu.

Dönüş Değeri

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

Açıklamalar

Dikey bölücü penceresi oluşturulduğunda bu üye işlevi çağrılır. SplitColumn bölmenin gerçekleştiği varsayılan konumu gösterir.

SplitColumn , dinamik bölücü penceresinin mantığını uygulamak için çerçeve tarafından çağrılır (yani bölücü penceresinde SPLS_DYNAMIC_SPLIT stil varsa). Daha gelişmiş dinamik bölücüler uygulamak için sanal işleviyle CreateViewbirlikte özelleştirilebilir.

CSplitterWnd::SplitRow

Çerçeve penceresinin yatay olarak nereye bölündüğünü gösterir.

virtual BOOL SplitRow(int cyBefore);

Parametreler

cyBefore
Bölmenin gerçekleşmeden önce piksel cinsinden konumu.

Dönüş Değeri

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

Açıklamalar

Bu üye işlevi, yatay bölücü penceresi oluşturulduğunda çağrılır. SplitRow bölmenin gerçekleştiği varsayılan konumu gösterir.

SplitRow , dinamik bölücü penceresinin mantığını uygulamak için çerçeve tarafından çağrılır (yani bölücü penceresinde SPLS_DYNAMIC_SPLIT stil varsa). Daha gelişmiş dinamik bölücüler uygulamak için sanal işleviyle CreateViewbirlikte özelleştirilebilir.

CSplitterWnd::OnDraw

Bölücü penceresini çizmek için çerçeve tarafından çağrılır.

virtual void OnDraw(CDC* pDC);

Parametreler

pDC
Cihaz bağlamı işaretçisi.

Açıklamalar

Ayrıca bkz.

MFC Örneği VIEWEX
CWnd Sınıf
Hiyerarşi Grafiği
CView Sınıf