Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Biedt de functionaliteit van een splitsvenster, een venster dat meerdere deelvensters bevat.
Syntaxis
class CSplitterWnd : public CWnd
Leden
Openbare constructors
| Naam | Description |
|---|---|
CSplitterWnd::CSplitterWnd |
Aanroep om een CSplitterWnd object te maken. |
Openbare methoden
| Naam | Description |
|---|---|
CSplitterWnd::ActivateNext |
Hiermee voert u de opdracht Volgende deelvenster of Vorig deelvenster uit. |
CSplitterWnd::CanActivateNext |
Controleert of de opdracht Volgend deelvenster of Vorige deelvenster momenteel mogelijk is. |
CSplitterWnd::Create |
Aanroep om een dynamisch splitsvenster te maken en deze aan het CSplitterWnd object te koppelen. |
CSplitterWnd::CreateScrollBarCtrl |
Hiermee maakt u een besturingselement voor een gedeelde schuifbalk. |
CSplitterWnd::CreateStatic |
Aanroep om een statisch splitsvenster te maken en deze aan het CSplitterWnd object te koppelen. |
CSplitterWnd::CreateView |
Aanroep om een deelvenster te maken in een splitsvenster. |
CSplitterWnd::DeleteColumn |
Hiermee verwijdert u een kolom uit het splitsvenster. |
CSplitterWnd::DeleteRow |
Hiermee verwijdert u een rij uit het splitsvenster. |
CSplitterWnd::DeleteView |
Hiermee verwijdert u een weergave uit het splitsvenster. |
CSplitterWnd::DoKeyboardSplit |
Voert de opdracht voor het splitsen van het toetsenbord uit, meestal 'Venster splitsen'. |
CSplitterWnd::DoScroll |
Hiermee wordt gesynchroniseerd schuiven van gesplitste vensters uitgevoerd. |
CSplitterWnd::DoScrollBy |
Schuift vensters met een bepaald aantal pixels. |
CSplitterWnd::GetActivePane |
Bepaalt het actieve deelvenster vanuit de focus- of actieve weergave in het frame. |
CSplitterWnd::GetColumnCount |
Retourneert het aantal kolommen in het huidige deelvenster. |
CSplitterWnd::GetColumnInfo |
Retourneert informatie over de opgegeven kolom. |
CSplitterWnd::GetPane |
Retourneert het deelvenster op de opgegeven rij en kolom. |
CSplitterWnd::GetRowCount |
Retourneert het aantal rijen in het huidige deelvenster. |
CSplitterWnd::GetRowInfo |
Retourneert informatie over de opgegeven rij. |
CSplitterWnd::GetScrollStyle |
Retourneert de stijl van de gedeelde schuifbalk. |
CSplitterWnd::IdFromRowCol |
Retourneert de id van het onderliggende venster van het deelvenster op de opgegeven rij en kolom. |
CSplitterWnd::IsChildPane |
Aanroep om te bepalen of het venster momenteel een onderliggend deelvenster van dit splitsvenster is. |
CSplitterWnd::IsTracking |
Bepaalt of de splitsbalk momenteel wordt verplaatst. |
CSplitterWnd::RecalcLayout |
Roep aan om het splitsvenster opnieuw weer te geven na het aanpassen van de rij- of kolomgrootte. |
CSplitterWnd::SetActivePane |
Hiermee stelt u een deelvenster in als de actieve deelvensters in het frame. |
CSplitterWnd::SetColumnInfo |
Aanroep om de opgegeven kolomgegevens in te stellen. |
CSplitterWnd::SetRowInfo |
Aanroep om de opgegeven rijgegevens in te stellen. |
CSplitterWnd::SetScrollStyle |
Hiermee geeft u de nieuwe schuifbalkstijl op voor de gedeelde schuifbalkondersteuning van het splitsvenster. |
CSplitterWnd::SplitColumn |
Geeft aan waar een framevenster verticaal wordt gesplitst. |
CSplitterWnd::SplitRow |
Geeft aan waar een framevenster horizontaal wordt gesplitst. |
Beveiligde methoden
| Naam | Description |
|---|---|
CSplitterWnd::OnDraw |
Aangeroepen door het framework om het splitsvenster te tekenen. |
CSplitterWnd::OnDrawSplitter |
Hiermee wordt een afbeelding van een gesplitst venster weergegeven. |
CSplitterWnd::OnInvertTracker |
Geeft de afbeelding van een gesplitst venster weer met dezelfde grootte en vorm als het framevenster. |
Opmerkingen
Een deelvenster is meestal een toepassingsspecifiek object dat is afgeleid van CView, maar het kan elk CWnd object zijn met de juiste onderliggende venster-id.
Een CSplitterWnd object wordt meestal ingesloten in een bovenliggend CFrameWnd object of CMDIChildWnd object. Maak een CSplitterWnd object met behulp van de volgende stappen:
Sluit een
CSplitterWndlidvariabele in het bovenliggende frame in.Overschrijf de lidfunctie van
CFrameWnd::OnCreateClienthet bovenliggende frame.Roep vanuit het overschreven
OnCreateClientdeCreateofCreateStaticlidfunctie vanCSplitterWnd.
Roep de Create lidfunctie aan om een dynamisch splitsvenster te maken. Een dynamisch splitsvenster wordt doorgaans gebruikt om een aantal afzonderlijke deelvensters of weergaven van hetzelfde document te maken en te schuiven. Het framework maakt automatisch een eerste deelvenster voor de splitsfunctie; vervolgens maakt, wijzigt het framework het formaat en verwijdert u extra deelvensters terwijl de gebruiker de besturingselementen van het splittervenster gebruikt.
Wanneer u aanroept Create, geeft u een minimale rijhoogte en kolombreedte op die bepalen wanneer de deelvensters te klein zijn om volledig te worden weergegeven. Nadat u de aanroep Createhebt uitgevoerd, kunt u deze minimale waarden aanpassen door de SetColumnInfo functies en SetRowInfo leden aan te roepen.
Gebruik ook de SetColumnInfo functies en SetRowInfo leden om een 'ideale' breedte in te stellen voor een kolom en 'ideale' hoogte voor een rij. Wanneer in het framework een splitsvenster wordt weergegeven, wordt eerst het bovenliggende frame en vervolgens het splitsvenster weergegeven. Het framework legt vervolgens de deelvensters in kolommen en rijen in op basis van hun ideale afmetingen, die van linksboven naar de rechterbenedenhoek van het clientgebied van het splitsvenster werken.
Alle deelvensters in een dynamisch splitsvenster moeten van dezelfde klasse zijn. Vertrouwde toepassingen die dynamische splitsvensters ondersteunen, zijn Onder andere Microsoft Word en Microsoft Excel.
Gebruik de CreateStatic lidfunctie om een statisch splitsvenster te maken. De gebruiker kan alleen de grootte van de deelvensters in een statisch splitsvenster wijzigen, niet het nummer of de volgorde ervan.
U moet specifiek alle deelvensters van de statische splitsfunctie maken wanneer u de statische splitsfunctie maakt. Zorg ervoor dat u alle deelvensters maakt voordat de lidfunctie van OnCreateClient het bovenliggende frame wordt geretourneerd, anders wordt het venster niet correct weergegeven.
De CreateStatic lidfunctie initialiseert automatisch een statische splitsfunctie met een minimale rijhoogte en kolombreedte van 0. Nadat u de aanroep Createhebt uitgevoerd, past u deze minimale waarden aan door de SetColumnInfo functies en SetRowInfo leden aan te roepen.
SetColumnInfo Gebruik en SetRowInfo na het aanroepen CreateStatic ook om de gewenste ideale deelvensterdimensies aan te geven.
De afzonderlijke deelvensters van een statische splitser behoren vaak tot verschillende klassen. Zie de grafische editor en Windows Bestandsbeheer voor voorbeelden van statische splitsvensters.
Een splitsvenster ondersteunt speciale schuifbalken (afgezien van de schuifbalken die deelvensters kunnen hebben). Deze schuifbalken zijn onderliggende elementen van het CSplitterWnd object en worden gedeeld met de deelvensters.
U maakt deze speciale schuifbalken wanneer u het splitsvenster maakt. Een kolom met één rij, twee kolommen en de WS_VSCROLL stijl geeft bijvoorbeeld CSplitterWnd een verticale schuifbalk weer die wordt gedeeld door de twee deelvensters. Wanneer de gebruiker de schuifbalk verplaatst, WM_VSCROLL worden berichten naar beide deelvensters verzonden. Wanneer de deelvensters de positie van de schuifbalk instellen, wordt de gedeelde schuifbalk ingesteld.
Zie Technical Note 29 voor meer informatie over splitsvensters.
Zie voor meer informatie over het maken van dynamische splitsvensters:
Overnamehiërarchie
CSplitterWnd
Requirements
Rubriek:afxext.h
CSplitterWnd::ActivateNext
Aangeroepen door het framework om de opdracht Volgend deelvenster of Vorige deelvenster uit te voeren.
virtual void ActivateNext(BOOL bPrev = FALSE);
Parameterwaarden
bPrev
Geeft aan welk venster moet worden geactiveerd.
TRUE voor vorige; FALSE voor volgende.
Opmerkingen
Deze lidfunctie is een opdracht op hoog niveau die door de CView klasse wordt gebruikt om te delegeren aan de CSplitterWnd implementatie.
CSplitterWnd::CanActivateNext
Aangeroepen door het framework om te controleren of de opdracht Volgend deelvenster of Vorige deelvenster momenteel mogelijk is.
virtual BOOL CanActivateNext(BOOL bPrev = FALSE);
Parameterwaarden
bPrev
Geeft aan welk venster moet worden geactiveerd.
TRUE voor vorige; FALSE voor volgende.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Deze lidfunctie is een opdracht op hoog niveau die door de CView klasse wordt gebruikt om te delegeren aan de CSplitterWnd implementatie.
CSplitterWnd::Create
Als u een dynamisch splitsvenster wilt maken, roept u de Create lidfunctie aan.
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);
Parameterwaarden
pParentWnd
Het bovenliggende framevenster van het splitsvenster.
nMaxRows
Het maximum aantal rijen in het splitsvenster. Deze waarde mag niet groter zijn dan 2.
nMaxCols
Het maximum aantal kolommen in het splitsvenster. Deze waarde mag niet groter zijn dan 2.
sizeMin
Hiermee geeft u de minimale grootte op waarop een deelvenster kan worden weergegeven.
pContext
Een aanwijzer naar een CCreateContext structuur. In de meeste gevallen kan dit worden pContext doorgegeven aan het bovenliggende framevenster.
dwStyle
Hiermee geeft u de stijl van het venster.
nID
De id van het onderliggende venster van het venster. De id kan zijn AFX_IDW_PANE_FIRST tenzij het splitsvenster is genest in een ander splitsvenster.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
U kunt een CSplitterWnd insluiten in een bovenliggend CFrameWnd object of CMDIChildWnd object door de volgende stappen uit te voeren:
Sluit een
CSplitterWndlidvariabele in het bovenliggende frame in.Overschrijf de lidfunctie van
CFrameWnd::OnCreateClienthet bovenliggende frame.Roep de
Createlidfunctie aan vanuit de overschrevenOnCreateClientfunctie.
Wanneer u een splitsvenster maakt vanuit een bovenliggend frame, geeft u de parameter van pContext het bovenliggende frame door aan het splitsvenster. Anders kan deze parameter zijn NULL.
De eerste minimale rijhoogte en kolombreedte van een dynamisch splitsvenster worden ingesteld door de sizeMin parameter. Deze minimuminstellingen, die bepalen of een deelvenster te klein is om in zijn geheel weer te geven, kunnen worden gewijzigd met de SetRowInfo functies en SetColumnInfo leden.
Zie 'Splitter Windows' in het artikel Meerdere documenttypen, weergaven en framevensters, technische notitie 29 en het CSplitterWnd klasseoverzicht voor meer informatie over dynamische splitsvensters.
Example
// 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
Wordt aangeroepen door het framework om een gedeeld besturingselement voor de schuifbalk te maken.
virtual BOOL CreateScrollBarCtrl(
DWORD dwStyle,
UINT nID);
Parameterwaarden
dwStyle
Hiermee geeft u de stijl van het venster.
nID
De id van het onderliggende venster van het venster. De id kan zijn AFX_IDW_PANE_FIRST tenzij het splitsvenster is genest in een ander splitsvenster.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Overschrijven CreateScrollBarCtrl om extra besturingselementen naast een schuifbalk op te nemen. Het standaardgedrag is het maken van normale besturingselementen voor Windows-schuifbalken.
CSplitterWnd::CreateStatic
Als u een statisch splitsvenster wilt maken, roept u de CreateStatic lidfunctie aan.
virtual BOOL CreateStatic(
CWnd* pParentWnd,
int nRows,
int nCols,
DWORD dwStyle = WS_CHILD | WS_VISIBLE,
UINT nID = AFX_IDW_PANE_FIRST);
Parameterwaarden
pParentWnd
Het bovenliggende framevenster van het splitsvenster.
nRows
Het aantal rijen. Deze waarde mag niet groter zijn dan 16.
nCols
Het aantal kolommen. Deze waarde mag niet groter zijn dan 16.
dwStyle
Hiermee geeft u de stijl van het venster.
nID
De id van het onderliggende venster van het venster. De id kan zijn AFX_IDW_PANE_FIRST tenzij het splitsvenster is genest in een ander splitsvenster.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Een CSplitterWnd wordt meestal ingesloten in een bovenliggend CFrameWnd object of CMDIChildWnd object door de volgende stappen uit te voeren:
Sluit een
CSplitterWndlidvariabele in het bovenliggende frame in.Overschrijf de lidfunctie van
OnCreateClienthet bovenliggende frame.Roep de
CreateStaticlidfunctie aan vanuit de overschrevenCFrameWnd::OnCreateClientfunctie.
Een statisch splitsvenster bevat een vast aantal deelvensters, vaak uit verschillende klassen.
Wanneer u een statisch splitsvenster maakt, moet u tegelijkertijd alle deelvensters maken. De CreateView lidfunctie wordt meestal gebruikt voor dit doel, maar u kunt ook andere niet-weergaveklassen maken.
De eerste minimale rijhoogte en kolombreedte voor een statisch splitsvenster is 0. Deze minimuminstellingen, die bepalen wanneer een deelvenster te klein is om volledig weer te geven, kunnen worden gewijzigd met de SetRowInfo functies en SetColumnInfo leden.
Als u schuifbalken wilt toevoegen aan een statisch splitsvenster, voegt u de WS_HSCROLL en WS_VSCROLL stijlen toe aan dwStyle.
Zie Splitter Windows in het artikel Meerdere documenttypen, weergaven en framevensters, technische opmerking 29 en het CSplitterWnd klasseoverzicht voor meer informatie over statische splitsvensters.
CSplitterWnd::CreateView
Hiermee maakt u de deelvensters voor een statisch splitsvenster.
virtual BOOL CreateView(
int row,
int col,
CRuntimeClass* pViewClass,
SIZE sizeInit,
CCreateContext* pContext);
Parameterwaarden
row
Hiermee geeft u de rij met splitsvensters op waarin u de nieuwe weergave wilt plaatsen.
col
Hiermee geeft u de kolom splitsvenster waarin de nieuwe weergave moet worden geplaatst.
pViewClass
Hiermee geeft u de CRuntimeClass nieuwe weergave.
sizeInit
Hiermee geeft u de oorspronkelijke grootte van de nieuwe weergave.
pContext
Een aanwijzer naar een aanmaakcontext die wordt gebruikt om de weergave te maken (meestal de pContext doorgegeven in de overschreven lidfunctie van het bovenliggende CFrameWnd::OnCreateClient frame waarin het splitsvenster wordt gemaakt).
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Alle deelvensters van een statisch splitsvenster moeten worden gemaakt voordat het framework de splitsfunctie weergeeft.
Het framework roept deze lidfunctie ook aan om nieuwe deelvensters te maken wanneer de gebruiker van een dynamisch splitsvenster een deelvenster, rij of kolom splitst.
Example
// 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
Aanroep om een CSplitterWnd object te maken.
CSplitterWnd();
Opmerkingen
Maak een CSplitterWnd object in twee stappen. Roep eerst de constructor aan, waarmee het CSplitterWnd object wordt gemaakt en roep vervolgens de Create lidfunctie aan, waarmee het splitsvenster wordt gemaakt en aan het CSplitterWnd object wordt gekoppeld.
CSplitterWnd::DeleteColumn
Hiermee verwijdert u een kolom uit het splitsvenster.
virtual void DeleteColumn(int colDelete);
Parameterwaarden
colDelete
Hiermee geeft u de kolom die moet worden verwijderd.
Opmerkingen
Deze lidfunctie wordt aangeroepen door het framework om de logica van het dynamische splitsvenster te implementeren (dat wil gezegd, als het splitsvenster de SPLS_DYNAMIC_SPLIT stijl heeft). Het kan worden aangepast, samen met de virtuele functie CreateView, om geavanceerdere dynamische splitters te implementeren.
CSplitterWnd::DeleteRow
Hiermee verwijdert u een rij uit het splitsvenster.
virtual void DeleteRow(int rowDelete);
Parameterwaarden
rowDelete
Hiermee geeft u de rij die moet worden verwijderd.
Opmerkingen
Deze lidfunctie wordt aangeroepen door het framework om de logica van het dynamische splitsvenster te implementeren (dat wil gezegd, als het splitsvenster de SPLS_DYNAMIC_SPLIT stijl heeft). Het kan worden aangepast, samen met de virtuele functie CreateView, om geavanceerdere dynamische splitters te implementeren.
CSplitterWnd::DeleteView
Hiermee verwijdert u een weergave uit het splitsvenster.
virtual void DeleteView(
int row,
int col);
Parameterwaarden
row
Hiermee geeft u de splitsvensterrij op waarop de weergave moet worden verwijderd.
col
Hiermee geeft u de splitsvensterkolom op waarop de weergave moet worden verwijderd.
Opmerkingen
Als de actieve weergave wordt verwijderd, wordt de volgende weergave actief. Bij de standaard implementatie wordt ervan uitgegaan dat de weergave automatisch wordt verwijderd.PostNcDestroy
Deze lidfunctie wordt aangeroepen door het framework om de logica van het dynamische splitsvenster te implementeren (dat wil gezegd, als het splitsvenster de SPLS_DYNAMIC_SPLIT stijl heeft). Het kan worden aangepast, samen met de virtuele functie CreateView, om geavanceerdere dynamische splitters te implementeren.
CSplitterWnd::DoKeyboardSplit
Voert de opdracht voor het splitsen van het toetsenbord uit, meestal 'Venster splitsen'.
virtual BOOL DoKeyboardSplit();
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Deze lidfunctie is een opdracht op hoog niveau die door de CView klasse wordt gebruikt om te delegeren aan de CSplitterWnd implementatie.
CSplitterWnd::DoScroll
Hiermee wordt gesynchroniseerd schuiven van gesplitste vensters uitgevoerd.
virtual BOOL DoScroll(
CView* pViewFrom,
UINT nScrollCode,
BOOL bDoScroll = TRUE);
Parameterwaarden
pViewFrom
Een aanwijzer naar de weergave waaruit het schuifbericht afkomstig is.
nScrollCode
Een schuifbalkcode die de schuifaanvraag van de gebruiker aangeeft. Deze parameter bestaat uit twee delen: een byte met een lage volgorde, die bepaalt welk type scrollen horizontaal plaatsvindt en een byte met hoge volgorde, waarmee het type schuiven verticaal wordt bepaald:
SB_BOTTOMSchuift naar beneden.SB_LINEDOWNSchuift één regel omlaag.SB_LINEUPSchuift één regel omhoog.SB_PAGEDOWNSchuift één pagina omlaag.SB_PAGEUPSchuift één pagina omhoog.SB_TOPSchuift naar boven.
bDoScroll
Bepaalt of de opgegeven schuifactie plaatsvindt. Als bDoScroll dat het geval is TRUE (als er een onderliggend venster bestaat en als de gesplitste vensters een schuifbereik hebben), kan de opgegeven schuifactie plaatsvinden. Als bDoScroll dat het geval is FALSE (dat wil gezegd, als er geen onderliggend venster bestaat of als de gesplitste weergaven geen schuifbereik hebben), wordt schuiven niet uitgevoerd.
Retourwaarde
Niet-nul als gesynchroniseerd schuiven plaatsvindt; anders 0.
Opmerkingen
Deze lidfunctie wordt aangeroepen door het framework om gesynchroniseerd schuiven van gesplitste vensters uit te voeren wanneer de weergave een schuifbericht ontvangt. Overschrijven om een actie van de gebruiker te vereisen voordat gesynchroniseerd schuiven is toegestaan.
CSplitterWnd::DoScrollBy
Schuift vensters met een bepaald aantal pixels.
virtual BOOL DoScrollBy(
CView* pViewFrom,
CSize sizeScroll,
BOOL bDoScroll = TRUE);
Parameterwaarden
pViewFrom
Een aanwijzer naar de weergave waaruit het schuifbericht afkomstig is.
sizeScroll
Het aantal pixels dat horizontaal en verticaal moet worden geschoven.
bDoScroll
Bepaalt of de opgegeven schuifactie plaatsvindt. Als bDoScroll dat het geval is TRUE (als er een onderliggend venster bestaat en als de gesplitste vensters een schuifbereik hebben), kan de opgegeven schuifactie plaatsvinden. Als bDoScroll dat het geval is FALSE (dat wil gezegd, als er geen onderliggend venster bestaat of als de gesplitste weergaven geen schuifbereik hebben), wordt schuiven niet uitgevoerd.
Retourwaarde
Niet-nul als gesynchroniseerd schuiven plaatsvindt; anders 0.
Opmerkingen
Deze lidfunctie wordt aangeroepen door het framework als reactie op een schuifbericht, om gesynchroniseerd schuiven van de gesplitste vensters uit te voeren op de hoeveelheid, in pixels, aangegeven door sizeScroll. Positieve waarden geven aan dat omlaag en naar rechts schuiven; negatieve waarden geven aan dat omhoog en naar links schuiven.
Overschrijven om een actie van de gebruiker te vereisen voordat u scroll toestaat.
CSplitterWnd::GetActivePane
Bepaalt het actieve deelvenster vanuit de focus- of actieve weergave in het frame.
virtual CWnd* GetActivePane(
int* pRow = NULL,
int* pCol = NULL);
Parameterwaarden
pRow
Een aanwijzer naar een int om het rijnummer van het actieve deelvenster op te halen.
pCol
Een aanwijzer naar een int om het kolomnummer van het actieve deelvenster op te halen.
Retourwaarde
Aanwijzer naar het actieve deelvenster.
NULL als er geen actief deelvenster bestaat.
Opmerkingen
Deze lidfunctie wordt aangeroepen door het framework om het actieve deelvenster in een splitsvenster te bepalen. Overschrijven om een actie van de gebruiker te vereisen voordat het actieve deelvenster wordt weergegeven.
CSplitterWnd::GetColumnCount
Retourneert het aantal kolommen in het huidige deelvenster.
int GetColumnCount() const;
Retourwaarde
Retourneert het huidige aantal kolommen in de splitsfunctie. Voor een statische splitser is dit ook het maximum aantal kolommen.
CSplitterWnd::GetColumnInfo
Retourneert informatie over de opgegeven kolom.
void GetColumnInfo(
int col,
int& cxCur,
int& cxMin) const;
Parameterwaarden
col
Hiermee geeft u een kolom.
cxCur
Een verwijzing naar een int kolom die moet worden ingesteld op de huidige breedte van de kolom.
cxMin
Een verwijzing naar een int die moet worden ingesteld op de huidige minimale breedte van de kolom.
CSplitterWnd::GetPane
Retourneert het deelvenster op de opgegeven rij en kolom.
CWnd* GetPane(
int row,
int col) const;
Parameterwaarden
row
Hiermee geeft u een rij.
col
Hiermee geeft u een kolom.
Retourwaarde
Retourneert het deelvenster op de opgegeven rij en kolom. Het geretourneerde deelvenster is meestal een CView-afgeleide klasse.
CSplitterWnd::GetRowCount
Retourneert het aantal rijen in het huidige deelvenster.
int GetRowCount() const;
Retourwaarde
Retourneert het huidige aantal rijen in het splitsvenster. Voor een statisch splitsvenster is dit ook het maximum aantal rijen.
CSplitterWnd::GetRowInfo
Retourneert informatie over de opgegeven rij.
void GetRowInfo(
int row,
int& cyCur,
int& cyMin) const;
Parameterwaarden
row
Hiermee geeft u een rij.
cyCur
Verwijzing die moet int worden ingesteld op de huidige hoogte van de rij in pixels.
cyMin
Verwijzing die moet int worden ingesteld op de huidige minimale hoogte van de rij in pixels.
Opmerkingen
Roep deze lidfunctie aan om informatie over de opgegeven rij te verkrijgen. De cyCur parameter wordt gevuld met de huidige hoogte van de opgegeven rij en cyMin wordt gevuld met de minimale hoogte van de rij.
CSplitterWnd::GetScrollStyle
Retourneert de stijl van de gedeelde schuifbalk voor het splitsvenster.
DWORD GetScrollStyle() const;
Retourwaarde
Een of meer van de volgende windows-stijlvlagmen, indien geslaagd:
WS_HSCROLLAls de splitsbalk momenteel gedeelde horizontale schuifbalken beheert.WS_VSCROLLAls de splitsbalk momenteel gedeelde verticale schuifbalken beheert.
Als nul is, beheert het splitsvenster momenteel geen gedeelde schuifbalken.
CSplitterWnd::IdFromRowCol
Hiermee wordt de id van het onderliggende venster voor het deelvenster op de opgegeven rij en kolom verkregen.
int IdFromRowCol(
int row,
int col) const;
Parameterwaarden
row
Hiermee geeft u de rij met splitsvensters op.
col
Hiermee geeft u de kolom splitsvenster op.
Retourwaarde
De id van het onderliggende venster voor het deelvenster.
Opmerkingen
Deze lidfunctie wordt gebruikt voor het maken van niet-weergaven als deelvensters en kan worden aangeroepen voordat het deelvenster bestaat.
Example
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
Hiermee bepaalt u of pWnd dit momenteel een onderliggend deelvenster van dit splitsvenster is.
BOOL IsChildPane(
CWnd* pWnd,
int* pRow,
int* pCol);
Parameterwaarden
pWnd
Een aanwijzer naar een CWnd object dat moet worden getest.
pRow
Een aanwijzer naar een int veld waarin rijnummer moet worden opgeslagen.
pCol
Een aanwijzer naar een int naam waarin een kolomnummer moet worden opgeslagen.
Retourwaarde
Als niet-nul is, pWnd is dit momenteel een onderliggend deelvenster van dit splitsvenster en pRowpCol wordt deze ingevuld met de positie van het deelvenster in het splitsvenster. Als pWnd dit geen onderliggend deelvenster van dit splitsvenster is, wordt 0 geretourneerd.
Opmerkingen
In Visual C++ versies vóór 6.0 is deze functie gedefinieerd als
BOOL IsChildPane(CWnd* pWnd, int& row, int& col);
Deze versie is nu verouderd en mag niet worden gebruikt.
CSplitterWnd::IsTracking
Roep deze lidfunctie aan om te bepalen of de splitsbalk in het venster momenteel wordt verplaatst.
BOOL IsTracking();
Retourwaarde
Niet-nul als er een splitsbewerking wordt uitgevoerd; anders 0.
CSplitterWnd::OnDrawSplitter
Hiermee wordt een afbeelding van een gesplitst venster weergegeven.
virtual void OnDrawSplitter(
CDC* pDC,
ESplitType nType,
const CRect& rect);
Parameterwaarden
pDC
Een aanwijzer naar de apparaatcontext waarin moet worden getekend. Als pDC dat het is NULL, wordt het door CWnd::RedrawWindow het framework aangeroepen en wordt er geen gesplitst venster getekend.
nType
Een waarde van de enum ESplitType, die een van de volgende kan zijn:
splitBoxHet splitsvak.splitBarDe balk die wordt weergegeven tussen de twee gesplitste vensters.splitIntersectionHet snijpunt van de gesplitste vensters. Dit element wordt niet aangeroepen wanneer dit wordt uitgevoerd in Windows 95/98.splitBorderDe randen van het gesplitste venster.
rect
Een verwijzing naar een CRect object dat de grootte en vorm van de gesplitste vensters aangeeft.
Opmerkingen
Deze lidfunctie wordt aangeroepen door het framework om de exacte kenmerken van een splitsvenster te tekenen en op te geven. Overschrijven OnDrawSplitter voor geavanceerde aanpassing van de afbeeldingen voor de verschillende grafische onderdelen van een splitsvenster. De standaardafbeelding is vergelijkbaar met de splitser in Microsoft Works voor Windows of Microsoft Windows 95/98, omdat de snijpunten van de splitsbalken samen worden gemengd.
Zie 'Splitter Windows' in het artikel Meerdere documenttypen, weergaven en framevensters, technische notitie 29 en het CSplitterWnd klasseoverzicht voor meer informatie over dynamische splitsvensters.
CSplitterWnd::OnInvertTracker
Geeft de afbeelding van een gesplitst venster weer met dezelfde grootte en vorm als het framevenster.
virtual void OnInvertTracker(const CRect& rect);
Parameterwaarden
rect
Verwijzing naar een CRect object dat de rechthoek voor bijhouden aangeeft.
Opmerkingen
Deze lidfunctie wordt aangeroepen door het framework tijdens het wijzigen van het formaat van splitters. Overschrijven OnInvertTracker voor geavanceerde aanpassing van de afbeeldingen van het splitsvenster. De standaardafbeelding is vergelijkbaar met de splitser in Microsoft Works voor Windows of Microsoft Windows 95/98, omdat de snijpunten van de splitsbalken samen worden gemengd.
Zie 'Splitter Windows' in het artikel Meerdere documenttypen, weergaven en framevensters, technische notitie 29 en het CSplitterWnd klasseoverzicht voor meer informatie over dynamische splitsvensters.
CSplitterWnd::RecalcLayout
Roep aan om het splitsvenster opnieuw weer te geven na het aanpassen van de rij- of kolomgrootte.
virtual void RecalcLayout();
Opmerkingen
Roep deze lidfunctie aan om het splitsvenster correct weer te geven nadat u de rij- en kolomgrootten hebt aangepast met de SetRowInfo functies en SetColumnInfo leden. Als u de grootte van rijen en kolommen wijzigt als onderdeel van het aanmaakproces voordat het splitsvenster zichtbaar is, hoeft u deze lidfunctie niet aan te roepen.
In het framework wordt deze lidfunctie aangeroepen wanneer de gebruiker de grootte van het splitsvenster wijzigt of een splitsing verplaatst.
Example
Zie het voorbeeld voor CSplitterWnd::SetColumnInfo.
CSplitterWnd::SetActivePane
Hiermee stelt u een deelvenster in als de actieve deelvensters in het frame.
virtual void SetActivePane(
int row,
int col,
CWnd* pWnd = NULL);
Parameterwaarden
row
Als pWnd dat het is NULL, geeft u de rij in het deelvenster op dat actief is.
col
Als pWnd dat het is NULL, geeft u de kolom in het deelvenster op die actief is.
pWnd
Een aanwijzer naar een CWnd object. Als NULL, het deelvenster opgegeven door row en col is ingesteld actief. Als dat niet NULLhet is, geeft u het deelvenster op dat actief is ingesteld.
Opmerkingen
Deze lidfunctie wordt aangeroepen door het framework om een deelvenster in te stellen als actief wanneer de gebruiker de focus wijzigt in een deelvenster in het framevenster. U kunt expliciet aanroepen SetActivePane om de focus te wijzigen in de opgegeven weergave.
Geef het deelvenster op door rij en kolom op te geven of door het opgeven pWndvan .
CSplitterWnd::SetColumnInfo
Aanroep om de opgegeven kolomgegevens in te stellen.
void SetColumnInfo(
int col,
int cxIdeal,
int cxMin);
Parameterwaarden
col
Hiermee geeft u een splitsvensterkolom.
cxIdeal
Hiermee geeft u een ideale breedte voor de kolom splitsvenster in pixels.
cxMin
Hiermee geeft u een minimale breedte voor de kolom splitsvenster in pixels.
Opmerkingen
Roep deze lidfunctie aan om een nieuwe minimale breedte en ideale breedte voor een kolom in te stellen. De minimumwaarde van de kolom bepaalt wanneer de kolom te klein is om volledig weer te geven.
Wanneer in het framework het splitsvenster wordt weergegeven, worden de deelvensters in kolommen en rijen weergegeven op basis van hun ideale afmetingen, die van linksboven naar de rechterbenedenhoek van het clientgebied van het splitsvenster werken.
Example
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
Aanroep om de opgegeven rijgegevens in te stellen.
void SetRowInfo(
int row,
int cyIdeal,
int cyMin);
Parameterwaarden
row
Hiermee geeft u een splitsvensterrij.
cyIdeal
Hiermee geeft u een ideale hoogte voor de rij met splitsvensters in pixels.
cyMin
Hiermee geeft u een minimale hoogte op voor de rij met splitsvensters in pixels.
Opmerkingen
Roep deze lidfunctie aan om een nieuwe minimale hoogte en ideale hoogte voor een rij in te stellen. De minimumwaarde van de rij bepaalt wanneer de rij te klein is om volledig weer te geven.
Wanneer in het framework het splitsvenster wordt weergegeven, worden de deelvensters in kolommen en rijen weergegeven op basis van hun ideale afmetingen, die van linksboven naar de rechterbenedenhoek van het clientgebied van het splitsvenster werken.
CSplitterWnd::SetScrollStyle
Hiermee geeft u de nieuwe schuifstijl op voor de gedeelde schuifbalkondersteuning van het splitsvenster.
void SetScrollStyle(DWORD dwStyle);
Parameterwaarden
dwStyle
De nieuwe schuifstijl voor de gedeelde schuifbalkondersteuning van het gesplitste venster, die een van de volgende waarden kan zijn:
WS_HSCROLLHorizontale gedeelde schuifbalken maken/weergeven.WS_VSCROLLVerticale gedeelde schuifbalken maken/weergeven.
Opmerkingen
Zodra een schuifbalk is gemaakt, wordt deze niet vernietigd, zelfs niet als SetScrollStyle deze wordt aangeroepen zonder die stijl. In plaats daarvan zijn deze schuifbalken verborgen. Hierdoor kunnen de schuifbalken hun status behouden, ook al zijn ze verborgen. Na het aanroepen SetScrollStyleis het nodig om alle wijzigingen door te voeren RecalcLayout .
CSplitterWnd::SplitColumn
Geeft aan waar een framevenster verticaal wordt gesplitst.
virtual BOOL SplitColumn(int cxBefore);
Parameterwaarden
cxBefore
De positie, in pixels, waarna de splitsing plaatsvindt.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Deze lidfunctie wordt aangeroepen wanneer een verticaal splitsvenster wordt gemaakt.
SplitColumn geeft de standaardlocatie aan waar de splitsing plaatsvindt.
SplitColumn wordt aangeroepen door het framework om de logica van het dynamische splitsvenster te implementeren (dat wil gezegd, als het splitsvenster de SPLS_DYNAMIC_SPLIT stijl heeft). Het kan worden aangepast, samen met de virtuele functie CreateView, om geavanceerdere dynamische splitters te implementeren.
CSplitterWnd::SplitRow
Geeft aan waar een framevenster horizontaal wordt gesplitst.
virtual BOOL SplitRow(int cyBefore);
Parameterwaarden
cyBefore
De positie, in pixels, waarna de splitsing plaatsvindt.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Deze lidfunctie wordt aangeroepen wanneer een horizontaal splitsvenster wordt gemaakt.
SplitRow geeft de standaardlocatie aan waar de splitsing plaatsvindt.
SplitRow wordt aangeroepen door het framework om de logica van het dynamische splitsvenster te implementeren (dat wil gezegd, als het splitsvenster de SPLS_DYNAMIC_SPLIT stijl heeft). Het kan worden aangepast, samen met de virtuele functie CreateView, om geavanceerdere dynamische splitters te implementeren.
CSplitterWnd::OnDraw
Aangeroepen door het framework om het splitsvenster te tekenen.
virtual void OnDraw(CDC* pDC);
Parameterwaarden
pDC
Een aanwijzer naar een apparaatcontext.
Opmerkingen
Zie ook
MFC-voorbeeld VIEWEX
CWnd klasse
Hiërarchiegrafiek
CView klasse