Megosztás a következőn keresztül:


CSplitterWnd osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Az elválasztó ablak funkcióit biztosítja, amely egy több ablaktáblát tartalmazó ablak.

Szemantika

class CSplitterWnd : public CWnd

Tagok

Nyilvános konstruktorok

Név Description
CSplitterWnd::CSplitterWnd Hívás objektum létrehozásához CSplitterWnd .

Nyilvános metódusok

Név Description
CSplitterWnd::ActivateNext Végrehajtja a Következő vagy az Előző ablaktábla parancsot.
CSplitterWnd::CanActivateNext Ellenőrzi, hogy a Következő ablaktábla vagy az Előző ablaktábla parancs jelenleg lehetséges-e.
CSplitterWnd::Create Dinamikus osztóablak létrehozásához és az objektumhoz való csatolásához hívja meg.CSplitterWnd
CSplitterWnd::CreateScrollBarCtrl Létrehoz egy megosztott görgetősáv-vezérlőt.
CSplitterWnd::CreateStatic Statikus osztóablak létrehozásához és az objektumhoz való csatolásához hívja meg.CSplitterWnd
CSplitterWnd::CreateView Felhívás ablaktábla létrehozására felosztóablakban.
CSplitterWnd::DeleteColumn Oszlop törlése az osztóablakból.
CSplitterWnd::DeleteRow Töröl egy sort az osztóablakból.
CSplitterWnd::DeleteView Törli a nézetet az elválasztó ablakból.
CSplitterWnd::DoKeyboardSplit Végrehajtja a billentyűzet felosztási parancsát, amely általában "Ablak felosztása".
CSplitterWnd::DoScroll Szinkronizált görgetést végez az osztott ablakokon.
CSplitterWnd::DoScrollBy A görgetések adott számú képponttal felosztják az ablakokat.
CSplitterWnd::GetActivePane Meghatározza az aktív panelt a fókuszból vagy a keret aktív nézetéből.
CSplitterWnd::GetColumnCount Az aktuális panel oszlopszámát adja vissza.
CSplitterWnd::GetColumnInfo A megadott oszlop adatait adja vissza.
CSplitterWnd::GetPane A megadott sorban és oszlopban lévő panelt adja vissza.
CSplitterWnd::GetRowCount Az aktuális panelsorszámot adja vissza.
CSplitterWnd::GetRowInfo A megadott sor adatait adja vissza.
CSplitterWnd::GetScrollStyle A megosztott görgetősáv stílusát adja vissza.
CSplitterWnd::IdFromRowCol A megadott sorban és oszlopban lévő ablaktábla gyermekablak-azonosítóját adja vissza.
CSplitterWnd::IsChildPane Hívás annak megállapításához, hogy az ablak jelenleg az osztóablak gyermekablaka-e.
CSplitterWnd::IsTracking Meghatározza, hogy az elválasztósáv jelenleg áthelyezés alatt áll-e.
CSplitterWnd::RecalcLayout A sor- vagy oszlopméret módosítása után hívja meg újra az elválasztóablakot.
CSplitterWnd::SetActivePane A panelt úgy állítja be, hogy az aktív legyen a keretben.
CSplitterWnd::SetColumnInfo Hívás a megadott oszlopadatok beállításához.
CSplitterWnd::SetRowInfo Hívás a megadott soradatok beállításához.
CSplitterWnd::SetScrollStyle Megadja az osztóablak megosztott görgetősáv-támogatásának új görgetősáv-stílusát.
CSplitterWnd::SplitColumn Azt jelzi, hogy a keretablak függőlegesen hol osztja fel a elemet.
CSplitterWnd::SplitRow Azt jelzi, hogy a keretablak vízszintesen hol oszlik el.

Védett metódusok

Név Description
CSplitterWnd::OnDraw A keretrendszer meghívta, hogy megrajzolja az elválasztó ablakot.
CSplitterWnd::OnDrawSplitter Egy felosztott ablak képének megjelenítése.
CSplitterWnd::OnInvertTracker Az osztott ablak képét a keretablak méretével és alakjával megegyező méretre és alakzatra jeleníti meg.

Megjegyzések

A panelek általában alkalmazásspecifikus objektumok, amelyekből CViewszármazik, de bármely CWnd olyan objektum lehet, amely rendelkezik a megfelelő gyermekablak-azonosítóval.

Egy CSplitterWnd objektum általában egy szülőbe CFrameWnd vagy CMDIChildWnd objektumba van beágyazva. Hozzon létre egy CSplitterWnd objektumot az alábbi lépésekkel:

  1. Tagváltozó beágyazása CSplitterWnd a szülőkeretbe.

  2. Felülbírálja a szülőkeret tagfüggvényét CFrameWnd::OnCreateClient .

  3. A felülrendelt területen belül hívja meg a következő tagfüggvényét: . >

Hívja meg a Create tagfüggvényt dinamikus elválasztó ablak létrehozásához. A dinamikus elválasztóablakok általában ugyanazon dokumentum több külön ablaktáblájának vagy nézetének létrehozására és görgetésére szolgálnak. A keretrendszer automatikusan létrehoz egy kezdeti panelt az elválasztó számára; ezután a keretrendszer további paneleket hoz létre, méretez át és semmisít meg, miközben a felhasználó az osztóablak vezérlőit működteti.

Híváskor Createmeg kell adnia egy minimális sormagasságot és oszlopszélességű értéket, amely meghatározza, hogy a panelek túl kicsik-e ahhoz, hogy teljesen megjelenjenek. A hívás Createután ezeket a minimumokat a tagok és SetRowInfo a függvények meghívásával módosíthatjaSetColumnInfo.

Az oszlop és a SetColumnInfoSetRowInfo tagfüggvények használatával "ideális" szélességet állíthat be egy oszlophoz és egy sor "ideális" magasságát. Amikor a keretrendszer egy elválasztó ablakot jelenít meg, először a szülőkeretet, majd az elválasztó ablakot jeleníti meg. A keretrendszer ezután az ideális méretüknek megfelelően oszlopokban és sorokban helyezi el az ablaktáblákat, és a bal felső saroktól az elválasztó ablak ügyfélterületének jobb alsó sarkáig dolgozik.

A dinamikus osztóablak összes ablaktáblájának ugyanabban az osztályban kell lennie. A dinamikus felosztóablakokat támogató ismerős alkalmazások közé tartozik a Microsoft Word és a Microsoft Excel.

CreateStatic A tagfüggvény használatával hozzon létre egy statikus osztóablakot. A felhasználó csak a statikus elválasztóablakban lévő panelek méretét módosíthatja, a számukat és a sorrendjüket nem.

A statikus elválasztó létrehozásakor kifejezetten létre kell hoznia az összes statikus elválasztó panelt. Győződjön meg arról, hogy az összes ablaktáblát a szülőkeret tagfüggvényének visszatérése OnCreateClient előtt hozza létre, vagy a keretrendszer nem jeleníti meg megfelelően az ablakot.

A CreateStatic tagfüggvény automatikusan inicializál egy statikus elválasztót, amelynek minimális sormagassága és oszlopszélessége 0. A hívás Createután módosítsa ezeket a minimumokat az és SetRowInfo a SetColumnInfo tagfüggvények meghívásával. A kívánt ideális panelméretek jelzésére is használhatja SetColumnInfo és SetRowInfo a hívás CreateStatic után is.

A statikus osztók egyes paneljei gyakran különböző osztályokhoz tartoznak. A statikus felosztóablakok példáiért tekintse meg a grafikus szerkesztőt és a Windows Fájlkezelőt.

Az elválasztóablakok speciális görgetősávokat támogatnak (a panelek görgetősávjaitól eltekintve). Ezek a görgetősávok az CSplitterWnd objektum gyermekei, és meg vannak osztva a panelekkel.

Ezeket a speciális görgetősávokat az elválasztó ablak létrehozásakor hozza létre. Ha például CSplitterWnd egy sorból, két oszlopból áll, és a WS_VSCROLL stílus egy függőleges görgetősávot jelenít meg, amelyet a két panel közösen használ. Amikor a felhasználó áthelyezi a görgetősávot, WM_VSCROLL a rendszer mindkét ablaktáblára elküldi az üzeneteket. Amikor az ablaktáblák beállítják a görgetősáv pozícióját, a megosztott görgetősáv be van állítva.

A felosztóablakokról további információt a Technical Note 29-ben talál.

A dinamikus osztóablakok létrehozásával kapcsolatos további információkért lásd:

Öröklési hierarchia

CObject

CCmdTarget

CWnd

CSplitterWnd

Requirements

Fejléc:afxext.h

CSplitterWnd::ActivateNext

A keretrendszer meghívta a Következő vagy az Előző ablaktábla parancs végrehajtásához.

virtual void ActivateNext(BOOL bPrev = FALSE);

Paraméterek

bPrev
Azt jelzi, hogy melyik ablakot kell aktiválni. TRUE az előzőhöz; FALSE a következőhöz.

Megjegyzések

Ez a tagfüggvény egy magas szintű parancs, amelyet az CView osztály a megvalósításhoz CSplitterWnd delegál.

CSplitterWnd::CanActivateNext

A keretrendszer meghívta, hogy ellenőrizze, hogy a Következő ablaktábla vagy az Előző ablaktábla parancs jelenleg lehetséges-e.

virtual BOOL CanActivateNext(BOOL bPrev = FALSE);

Paraméterek

bPrev
Azt jelzi, hogy melyik ablakot kell aktiválni. TRUE az előzőhöz; FALSE a következőhöz.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény egy magas szintű parancs, amelyet az CView osztály a megvalósításhoz CSplitterWnd delegál.

CSplitterWnd::Create

Dinamikus elválasztó ablak létrehozásához hívja meg a tagfüggvényt 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);

Paraméterek

pParentWnd
Az elválasztó ablak szülőkeretablaka.

nMaxRows
Az osztóablakban lévő sorok maximális száma. Ez az érték nem haladhatja meg a 2 értéket.

nMaxCols
Az osztóablakban lévő oszlopok maximális száma. Ez az érték nem haladhatja meg a 2 értéket.

sizeMin
Azt a minimális méretet adja meg, amelyen egy panel megjeleníthető.

pContext
Egy struktúra mutatója CCreateContext . A legtöbb esetben ez lehet a pContext szülőkeret ablakának átadva.

dwStyle
Megadja az ablakstílust.

nID
Az ablak gyermekablak-azonosítója. Az azonosító csak akkor lehet AFX_IDW_PANE_FIRST , ha az elválasztó ablak egy másik elválasztó ablakban van beágyazva.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Szülőbe vagy CMDIChildWnd objektumba CFrameWnd az alábbi lépések végrehajtásával ágyazhat beCSplitterWnd:

  1. Tagváltozó beágyazása CSplitterWnd a szülőkeretbe.

  2. Felülbírálja a szülőkeret tagfüggvényét CFrameWnd::OnCreateClient .

  3. Hívja meg a Create tagfüggvényt a felülírt függvényen belülről OnCreateClient.

Ha egy szülőkereten belülről hoz létre elválasztó ablakot, adja át a szülőkeret paraméterét pContext az elválasztó ablaknak. Ellenkező esetben ez a paraméter lehet NULL.

A dinamikus elválasztóablak kezdeti minimális sormagasságát és oszlopszélességét a sizeMin paraméter állítja be. Ezek a minimumok, amelyek meghatározzák, hogy egy panel túl kicsi-e ahhoz, hogy teljes egészében megjelenjenek, módosíthatók a SetRowInfo tagfüggvényekkel.SetColumnInfo

A dinamikus felosztóablakokról további információt a Több dokumentumtípus, nézet és keretablak,a Technical Note 29 és az CSplitterWnd osztály áttekintése című cikkben talál.

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

A keretrendszer meghívta, hogy hozzon létre egy megosztott görgetősáv-vezérlőt.

virtual BOOL CreateScrollBarCtrl(
    DWORD dwStyle,
    UINT nID);

Paraméterek

dwStyle
Megadja az ablakstílust.

nID
Az ablak gyermekablak-azonosítója. Az azonosító csak akkor lehet AFX_IDW_PANE_FIRST , ha az elválasztó ablak egy másik elválasztó ablakban van beágyazva.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Felülbírálás CreateScrollBarCtrl a görgetősáv melletti további vezérlők hozzáadásához. Az alapértelmezett viselkedés normál Windows-görgetősáv-vezérlők létrehozása.

CSplitterWnd::CreateStatic

Statikus osztóablak létrehozásához hívja meg a tagfüggvényt CreateStatic .

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

Paraméterek

pParentWnd
Az elválasztó ablak szülőkeretablaka.

nRows
A sorok száma. Ez az érték nem haladhatja meg a 16-ot.

nCols
Az oszlopok száma. Ez az érték nem haladhatja meg a 16-ot.

dwStyle
Megadja az ablakstílust.

nID
Az ablak gyermekablak-azonosítója. Az azonosító csak akkor lehet AFX_IDW_PANE_FIRST , ha az elválasztó ablak egy másik elválasztó ablakban van beágyazva.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Az A CSplitterWnd általában egy szülőbe CFrameWnd vagy CMDIChildWnd objektumba van beágyazva az alábbi lépésekkel:

  1. Tagváltozó beágyazása CSplitterWnd a szülőkeretbe.

  2. Felülbírálja a szülőkeret tagfüggvényét OnCreateClient .

  3. Hívja meg a CreateStatic tagfüggvényt a felülírt függvényen belülről CFrameWnd::OnCreateClient.

A statikus elválasztóablakok rögzített számú ablaktáblát tartalmaznak, gyakran különböző osztályokból.

Statikus elválasztó ablak létrehozásakor ugyanakkor létre kell hoznia az összes ablaktáblát. A CreateView tagfüggvényt általában erre a célra használják, de más nemnézeti osztályokat is létrehozhat.

A statikus elválasztóablakok kezdeti minimális sormagassága és oszlopszélessége 0. Ezek a minimumok, amelyek meghatározzák, hogy egy panel túl kicsi-e ahhoz, hogy teljes egészében megjelenjenek, a tagfüggvényekkel SetRowInfoSetColumnInfo módosíthatók.

Ha görgetősávokat szeretne hozzáadni egy statikus elválasztó ablakhoz, adja hozzá a stílusokat és WS_VSCROLL a WS_HSCROLL stílusokatdwStyle.

A több dokumentumtípust, nézetet és keretablakot,a Technical Note 29-et és a CSplitterWnd statikus osztóablakokról szóló osztály áttekintését a "Splitter Windows" című cikkben találja.

CSplitterWnd::CreateView

Létrehozza a statikus elválasztó ablak paneleit.

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

Paraméterek

row
Megadja az elválasztó ablaksort, amelyben az új nézetet el szeretné helyezni.

col
Azt az elválasztó ablakoszlopot adja meg, amelyben az új nézetet el szeretné helyezni.

pViewClass
CRuntimeClass Az új nézetet adja meg.

sizeInit
Az új nézet kezdeti méretét adja meg.

pContext
A nézet létrehozásához használt létrehozási környezetre mutató mutató (általában a pContext szülőkeret felülírt CFrameWnd::OnCreateClient tagfüggvényébe kerül, amelyben az elválasztó ablak létrejön).

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A statikus elválasztó ablak összes ablaktábláját létre kell hozni, mielőtt a keretrendszer megjeleníti az elválasztót.

A keretrendszer ezt a tagfüggvényt is meghívja új ablaktáblák létrehozására, amikor egy dinamikus elválasztó ablak felhasználója feloszt egy panelt, sort vagy oszlopot.

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

Hívás objektum létrehozásához CSplitterWnd .

CSplitterWnd();

Megjegyzések

Hozzon létre egy objektumot CSplitterWnd két lépésben. Először hívja meg a konstruktort, amely létrehozza az CSplitterWnd objektumot, majd hívja meg a Create tagfüggvényt, amely létrehozza az elválasztó ablakot, és csatolja az CSplitterWnd objektumhoz.

CSplitterWnd::DeleteColumn

Oszlop törlése az osztóablakból.

virtual void DeleteColumn(int colDelete);

Paraméterek

colDelete
Megadja a törölni kívánt oszlopot.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer hívja meg a dinamikus elválasztó ablak logikájának implementálásához (vagyis ha az elválasztó ablak stílusa SPLS_DYNAMIC_SPLIT van). A virtuális függvénnyel CreateViewegyütt testre is szabható a fejlettebb dinamikus osztók implementálásához.

CSplitterWnd::DeleteRow

Töröl egy sort az osztóablakból.

virtual void DeleteRow(int rowDelete);

Paraméterek

rowDelete
Megadja a törölni kívánt sort.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer hívja meg a dinamikus elválasztó ablak logikájának implementálásához (vagyis ha az elválasztó ablak stílusa SPLS_DYNAMIC_SPLIT van). A virtuális függvénnyel CreateViewegyütt testre is szabható a fejlettebb dinamikus osztók implementálásához.

CSplitterWnd::DeleteView

Törli a nézetet az elválasztó ablakból.

virtual void DeleteView(
    int row,
    int col);

Paraméterek

row
Azt az elválasztó ablaksort adja meg, amelynél törölni szeretné a nézetet.

col
Azt az elválasztó ablakoszlopot adja meg, amelynél törölni szeretné a nézetet.

Megjegyzések

Ha az aktív nézet törlése folyamatban van, a következő nézet aktívvá válik. Az alapértelmezett implementáció feltételezi, hogy a nézet automatikusan törlődik a fájlból PostNcDestroy.

Ezt a tagfüggvényt a keretrendszer hívja meg a dinamikus elválasztó ablak logikájának implementálásához (vagyis ha az elválasztó ablak stílusa SPLS_DYNAMIC_SPLIT van). A virtuális függvénnyel CreateViewegyütt testre is szabható a fejlettebb dinamikus osztók implementálásához.

CSplitterWnd::DoKeyboardSplit

Végrehajtja a billentyűzet felosztási parancsát, amely általában "Ablak felosztása".

virtual BOOL DoKeyboardSplit();

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény egy magas szintű parancs, amelyet az CView osztály a megvalósításhoz CSplitterWnd delegál.

CSplitterWnd::DoScroll

Szinkronizált görgetést végez az osztott ablakokon.

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

Paraméterek

pViewFrom
Mutató arra a nézetre, ahonnan a görgető üzenet származik.

nScrollCode
A felhasználó görgetési kérését jelző görgetősáv-kód. Ez a paraméter két részből áll: egy alacsony sorrendű bájtból, amely meghatározza a vízszintesen előforduló görgetés típusát, valamint egy nagy sorrendű bájtot, amely meghatározza a függőlegesen történő görgetés típusát:

  • SB_BOTTOM Görgessen lefelé.

  • SB_LINEDOWN Görgetés egy sorral lejjebb.

  • SB_LINEUP Görgetés egy sorban felfelé.

  • SB_PAGEDOWN Görgetés egy oldallal lejjebb.

  • SB_PAGEUP Egy oldal felfelé görgetése.

  • SB_TOP Görgessen felfelé.

bDoScroll
Meghatározza, hogy a megadott görgetési művelet bekövetkezik-e. Ha bDoScroll igen TRUE (vagyis ha létezik gyermekablak, és az osztott ablakok görgetési tartománya van), akkor a megadott görgetési művelet végrehajtható; ha bDoScroll igen FALSE (vagyis ha nincs gyermekablak, vagy ha az osztott nézetekben nincs görgetési tartomány), akkor a görgetés nem történik meg.

Visszaadott érték

Nonzero, ha szinkronizált görgetés történik; egyéb esetben 0.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer meghívja az osztott ablakok szinkronizált görgetéséhez, amikor a nézet görgetési üzenetet kap. Felülbírálás, ha a felhasználónak műveletet kell elvégeznie, mielőtt a szinkronizált görgetés engedélyezve lenne.

CSplitterWnd::DoScrollBy

A görgetések adott számú képponttal felosztják az ablakokat.

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

Paraméterek

pViewFrom
Mutató arra a nézetre, ahonnan a görgető üzenet származik.

sizeScroll
Vízszintesen és függőlegesen görgetendő képpontok száma.

bDoScroll
Meghatározza, hogy a megadott görgetési művelet bekövetkezik-e. Ha bDoScroll igen TRUE (vagyis ha létezik gyermekablak, és az osztott ablakok görgetési tartománya van), akkor a megadott görgetési művelet végrehajtható; ha bDoScroll igen FALSE (vagyis ha nincs gyermekablak, vagy ha az osztott nézetekben nincs görgetési tartomány), akkor a görgetés nem történik meg.

Visszaadott érték

Nonzero, ha szinkronizált görgetés történik; egyéb esetben 0.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer egy görgetőüzenetre válaszolva hívja meg, hogy a felosztott ablakok szinkronizált görgetését képpontban, képpontban jelezve sizeScrollvégezze el. A pozitív értékek lefelé és jobbra görgetést jeleznek; a negatív értékek felfelé és balra görgetést jeleznek.

Felülbírálás a felhasználó műveletének megköveteléséhez a görgetés engedélyezése előtt.

CSplitterWnd::GetActivePane

Meghatározza az aktív panelt a fókuszból vagy a keret aktív nézetéből.

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

Paraméterek

pRow
Egy mutató az int aktív ablaktábla sorszámának lekéréséhez.

pCol
Egy mutató az int aktív ablaktábla oszlopszámának lekéréséhez.

Visszaadott érték

Mutasson az aktív panelre. NULL ha nincs aktív ablaktábla.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer hívja meg az osztóablak aktív paneljének meghatározásához. Felülbírálás, ha a felhasználónak műveletet kell elvégeznie az aktív ablaktábla lekérése előtt.

CSplitterWnd::GetColumnCount

Az aktuális panel oszlopszámát adja vissza.

int GetColumnCount() const;

Visszaadott érték

Az osztó oszlopainak aktuális számát adja eredményül. Statikus elválasztó esetén ez az oszlopok maximális száma is.

CSplitterWnd::GetColumnInfo

A megadott oszlop adatait adja vissza.

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

Paraméterek

col
Egy oszlopot ad meg.

cxCur
Hivatkozás az int oszlop aktuális szélességére beállított hivatkozásra.

cxMin
Hivatkozás az int oszlop aktuális minimális szélességére beállított hivatkozásra.

CSplitterWnd::GetPane

A megadott sorban és oszlopban lévő panelt adja vissza.

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

Paraméterek

row
Egy sort ad meg.

col
Egy oszlopot ad meg.

Visszaadott érték

A megadott sorban és oszlopban lévő panelt adja vissza. A visszaadott panel általában egy CView-származtatott osztály.

CSplitterWnd::GetRowCount

Az aktuális panelsorszámot adja vissza.

int GetRowCount() const;

Visszaadott érték

Az osztóablakban lévő sorok aktuális számát adja vissza. Statikus elválasztóablak esetén ez a sorok maximális száma is.

CSplitterWnd::GetRowInfo

A megadott sor adatait adja vissza.

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

Paraméterek

row
Egy sort ad meg.

cyCur
Hivatkozás a int sor aktuális magasságára képpontban.

cyMin
Hivatkozás a int sor képpontban megadott minimális magasságára.

Megjegyzések

Hívja meg ezt a tagfüggvényt a megadott sor adatainak lekéréséhez. A cyCur paraméter a megadott sor aktuális magasságával van kitöltve, és cyMin a sor minimális magasságával van kitöltve.

CSplitterWnd::GetScrollStyle

Az osztóablak megosztott görgetősáv-stílusát adja vissza.

DWORD GetScrollStyle() const;

Visszaadott érték

Ha sikeres, az alábbi ablakstílus-jelzők közül egy vagy több:

  • WS_HSCROLL Ha az elválasztó jelenleg a megosztott vízszintes görgetősávokat kezeli.

  • WS_VSCROLL Ha az elválasztó jelenleg a megosztott függőleges görgetősávokat kezeli.

Ha nulla, az elválasztó ablak jelenleg nem kezeli a megosztott görgetősávokat.

CSplitterWnd::IdFromRowCol

Beolvasja a megadott sor és oszlop paneljének gyermekablak-azonosítóját.

int IdFromRowCol(
    int row,
    int col) const;

Paraméterek

row
Az elválasztó ablak sorát adja meg.

col
Az elválasztó ablak oszlopát adja meg.

Visszaadott érték

Az ablaktábla gyermekablak-azonosítója.

Megjegyzések

Ez a tagfüggvény nemnézetek panelként való létrehozására szolgál, és meghívható a panel létrehozása előtt.

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

Meghatározza, hogy jelenleg a felosztóablak gyermekablaka-e pWnd .

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

Paraméterek

pWnd
Egy tesztelni kívánt objektumra mutató mutató CWnd .

pRow
A sorszám tárolására szolgáló mutató int .

pCol
Egy oszlopszám tárolására szolgáló mutató int .

Visszaadott érték

Ha nem, pWnd akkor jelenleg ennek a felosztóablaknak a gyermekablaka, és pColpRow a felosztóablakban lévő ablaktábla pozíciójával van kitöltve. Ha pWnd nem a felosztóablak gyermekablaka, a 0 értéket adja vissza.

Megjegyzések

A Visual C++ 6.0 előtti verzióiban ez a függvény a következőként lett definiálva:

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

Ez a verzió már elavult, ezért nem szabad használni.

CSplitterWnd::IsTracking

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy az ablak elválasztó sávja jelenleg áthelyezve van-e.

BOOL IsTracking();

Visszaadott érték

Nemzero, ha egy felosztóművelet folyamatban van; egyéb esetben 0.

CSplitterWnd::OnDrawSplitter

Egy felosztott ablak képének megjelenítése.

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

Paraméterek

pDC
Mutató arra az eszközkörnyezetre, amelyben rajzolni szeretne. Ha pDC igen NULL, akkor CWnd::RedrawWindow a keretrendszer meghívja, és nem rajzol fel osztott ablakot.

nType
A ( ) enum ESplitTypeértéke, amely az alábbiak egyike lehet:

  • splitBox Az elválasztó húzása.

  • splitBar A két osztott ablak között megjelenő sáv.

  • splitIntersection Az osztott ablakok metszete. Ez az elem nem lesz meghívva a Windows 95/98-on való futtatáskor.

  • splitBorder Az osztott ablakszegélyek.

rect
Hivatkozás az CRect osztott ablakok méretét és alakját meghatározó objektumra.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer hívja meg az osztóablak pontos jellemzőinek rajzolásához és megadásához. Felülbírálás OnDrawSplitter a képi elemek speciális testreszabásához az elválasztó ablak különböző grafikus összetevőihez. Az alapértelmezett kép a Windows Microsoft Worksben vagy a Microsoft Windows 95/98-ban használt elválasztóhoz hasonló, mivel az elválasztósávok metszetei össze vannak keverve.

A dinamikus felosztóablakokról további információt a Több dokumentumtípus, nézet és keretablak,a Technical Note 29 és az CSplitterWnd osztály áttekintése című cikkben talál.

CSplitterWnd::OnInvertTracker

Az osztott ablak képét a keretablak méretével és alakjával megegyező méretre és alakzatra jeleníti meg.

virtual void OnInvertTracker(const CRect& rect);

Paraméterek

rect
Hivatkozás a CRect követési téglalapot meghatározó objektumra.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer hívja meg az osztók átméretezése során. Felülbírálás OnInvertTracker az osztóablak képeinek speciális testreszabásához. Az alapértelmezett kép a Windows Microsoft Worksben vagy a Microsoft Windows 95/98-ban használt elválasztóhoz hasonló, mivel az elválasztósávok metszetei össze vannak keverve.

A dinamikus felosztóablakokról további információt a Több dokumentumtípus, nézet és keretablak,a Technical Note 29 és az CSplitterWnd osztály áttekintése című cikkben talál.

CSplitterWnd::RecalcLayout

A sor- vagy oszlopméret módosítása után hívja meg újra az elválasztóablakot.

virtual void RecalcLayout();

Megjegyzések

Hívja meg ezt a tagfüggvényt az elválasztó ablak helyes visszajelzéséhez, miután a sor- és oszlopméreteket a tagfüggvényekkel SetRowInfoSetColumnInfo együtt módosította. Ha a létrehozási folyamat részeként módosítja a sor- és oszlopméreteket, mielőtt az elválasztó ablak látható lenne, nem szükséges meghívni ezt a tagfüggvényt.

A keretrendszer meghívja ezt a tagfüggvényt, amikor a felhasználó átméretezi az osztóablakot, vagy áthelyez egy felosztást.

Example

Lásd a példát a CSplitterWnd::SetColumnInfo.

CSplitterWnd::SetActivePane

A panelt úgy állítja be, hogy az aktív legyen a keretben.

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

Paraméterek

row
Ha pWnd igen NULL, a panel azon sorát adja meg, amely aktív lesz.

col
Ha pWnd igen NULL, a panel aktív oszlopát adja meg.

pWnd
Egy objektumra mutató CWnd mutató. Ha NULL, akkor a megadott row és col aktív panel van beállítva. Ha nem NULL, akkor az aktív panelt adja meg.

Megjegyzések

Ezt a tagfüggvényt a keretrendszer meghívja, hogy aktívként állítsa be a panelt, amikor a felhasználó a fókuszt a keretablakban lévő ablaktáblára módosítja. A fókusz a megadott nézetre való módosításához hívható SetActivePane meg explicit módon.

Adja meg a panelt a sor és az oszlop megadásával, vagy a megadásával pWnd.

CSplitterWnd::SetColumnInfo

Hívás a megadott oszlopadatok beállításához.

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

Paraméterek

col
Elválasztó ablakoszlopot ad meg.

cxIdeal
Az elválasztó ablak oszlopának ideális szélességét adja meg képpontban.

cxMin
Az elválasztó ablak oszlopának minimális szélességét adja meg képpontban.

Megjegyzések

Hívja meg ezt a tagfüggvényt egy új minimális szélesség és egy oszlop ideális szélességének beállításához. Az oszlop minimális értéke határozza meg, hogy az oszlop mikor lesz túl kicsi a teljes megjelenítéshez.

Amikor a keretrendszer megjeleníti az elválasztó ablakot, az ideális méretüknek megfelelően oszlopokban és sorokban helyezi el az ablaktáblákat, és a bal felső saroktól a jobb alsó sarokig dolgozik az elválasztó ablak ügyfélterületének.

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

Hívás a megadott soradatok beállításához.

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

Paraméterek

row
Egy elválasztó ablaksort ad meg.

cyIdeal
Ideális magasságot ad meg az elválasztó ablak sorához képpontban.

cyMin
Az elválasztó ablak sorának minimális magasságát adja meg képpontban.

Megjegyzések

Hívja meg ezt a tagfüggvényt egy sor új minimális magasságának és ideális magasságának beállításához. A sor minimális értéke határozza meg, hogy a sor mikor lesz túl kicsi a teljes megjelenítéshez.

Amikor a keretrendszer megjeleníti az elválasztó ablakot, az ideális méretüknek megfelelően oszlopokban és sorokban helyezi el az ablaktáblákat, és a bal felső saroktól a jobb alsó sarokig dolgozik az elválasztó ablak ügyfélterületének.

CSplitterWnd::SetScrollStyle

Megadja az osztóablak megosztott görgetősáv-támogatásának új görgetési stílusát.

void SetScrollStyle(DWORD dwStyle);

Paraméterek

dwStyle
Az elválasztó ablak megosztott görgetősáv-támogatásának új görgetési stílusa, amely az alábbi értékek egyike lehet:

  • WS_HSCROLL Vízszintes megosztott görgetősávok létrehozása/megjelenítése.

  • WS_VSCROLL Függőleges megosztott görgetősávok létrehozása/megjelenítése.

Megjegyzések

Miután létrehozta a görgetősávot, az nem lesz megsemmisítve, még akkor sem, ha SetScrollStyle a stílus nélkül hívják; ehelyett ezek a görgetősávok rejtve maradnak. Ez lehetővé teszi, hogy a görgetősávok megőrizzék az állapotukat annak ellenére, hogy rejtettek. A hívás SetScrollStyleután meg kell hívni RecalcLayout az összes módosítás érvénybe lépését.

CSplitterWnd::SplitColumn

Azt jelzi, hogy a keretablak függőlegesen hol osztja fel a elemet.

virtual BOOL SplitColumn(int cxBefore);

Paraméterek

cxBefore
Az a pozíció képpontban, amely előtt a felosztás történik.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ezt a tagfüggvényt függőleges elválasztó ablak létrehozásakor hívja meg a függvény. SplitColumn A felosztás alapértelmezett helyét jelzi.

SplitColumn a keretrendszer meghívja a dinamikus elválasztó ablak logikájának implementálásához (vagyis ha az elválasztó ablak stílusa SPLS_DYNAMIC_SPLIT van). A virtuális függvénnyel CreateViewegyütt testre is szabható a fejlettebb dinamikus osztók implementálásához.

CSplitterWnd::SplitRow

Azt jelzi, hogy a keretablak vízszintesen hol oszlik el.

virtual BOOL SplitRow(int cyBefore);

Paraméterek

cyBefore
Az a pozíció képpontban, amely előtt a felosztás történik.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény egy vízszintes elválasztó ablak létrehozásakor lesz meghívva. SplitRow A felosztás alapértelmezett helyét jelzi.

SplitRow a keretrendszer meghívja a dinamikus elválasztó ablak logikájának implementálásához (vagyis ha az elválasztó ablak stílusa SPLS_DYNAMIC_SPLIT van). A virtuális függvénnyel CreateViewegyütt testre is szabható a fejlettebb dinamikus osztók implementálásához.

CSplitterWnd::OnDraw

A keretrendszer meghívta, hogy megrajzolja az elválasztó ablakot.

virtual void OnDraw(CDC* pDC);

Paraméterek

pDC
Egy eszközkörnyezetre mutató mutató.

Megjegyzések

Lásd még

MFC-minta VIEWEX
CWnd osztály
hierarchiadiagram
CView osztály