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 CView
tü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:
Üst çerçeveye üye
CSplitterWnd
değişkeni ekleme.Üst çerçevenin
CFrameWnd::OnCreateClient
üye işlevini geçersiz kılın.geçersiz kılınan içinden veya
CreateStatic
üyesi işlevini çağırınCreate
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ı Create
yaptı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ı Create
yaptı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
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
:
Üst çerçeveye üye
CSplitterWnd
değişkeni ekleme.Üst çerçevenin
CFrameWnd::OnCreateClient
üye işlevini geçersiz kılın.Create
Geçersiz kılınanOnCreateClient
iç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:
Üst çerçeveye üye
CSplitterWnd
değişkeni ekleme.Üst çerçevenin
OnCreateClient
üye işlevini geçersiz kılın.CreateStatic
Geçersiz kılınanCFrameWnd::OnCreateClient
iç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 dwStyle
ekleyinWS_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 CreateView
birlikte ö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 CreateView
birlikte ö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 PostNcDestroy
otomatik 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 CreateView
birlikte ö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 sizeScroll
eş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 CView
sı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
NULL
CWnd::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::SetColumnInfo
bakı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 NULL
ve tarafından row
col
belirtilen bölme etkin olarak ayarlanır. NULL
değ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 pWnd
sağ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ı SetScrollStyle
yaptı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 CreateView
birlikte ö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 CreateView
birlikte ö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.