CPane – třída
Třída CPane
je vylepšení CControlBar Třídy. Pokud upgradujete existující projekt MFC, nahraďte všechny výskyty CControlBar
CPane
.
Syntaxe
class CPane : public CBasePane
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CPane::~CPane |
Destruktor. |
Veřejné metody
Název | Popis |
---|---|
CPane::AdjustSizeImmediate | Okamžitě přepočítá rozložení podokna. |
CPane::AllocElements | Přidělí úložiště pro interní použití. |
CPane::AllowShowOnPaneMenu | Určuje, jestli je podokno uvedené v seznamu vygenerovaných modulem runtime pro aplikaci. |
CPane::CalcAvailableSize | Vypočítá rozdíl velikosti mezi zadaným obdélníkem a obdélníkem aktuálního okna. |
CPane::CalcInsideRect | Vypočítá vnitřní obdélník podokna s ohledem na ohraničení a úchyty. |
CPane::CalcRecentDockedRect | Vypočítá nedávno ukotvený obdélník. |
CPane::CalcSize | Vypočítá velikost podokna. |
CPane::CanBeDocked | Určuje, zda lze podokno ukotvit v zadaném základním podokně. |
CPane::CanBeTabbedDocument | Určuje, zda lze podokno převést na dokument s kartami. |
CPane::ConvertToTabbedDocument | Převede ukotvené podokno na dokument s kartami. |
CPane::CopyState | Zkopíruje stav podokna. (Přepsání CBasePane::CopyState.) |
CPane::Create | Vytvoří řídicí panel a připojí ho k objektu CPane . |
CPane::CreateDefaultMiniframe | Vytvoří minirámeček okna pro plovoucí podokno. |
CPane::CreateEx | Vytvoří řídicí panel a připojí ho k objektu CPane . |
CPane::CreateObject |
Používá se architekturou k vytvoření dynamické instance tohoto typu třídy. |
CPane::D ockByMouse | Ukotví podokno pomocí metody ukotvení myši. |
CPane::D ockPane | Ukotví plovoucí podokno do základního podokna. |
CPane::D ockPaneStandard | Ukotví podokno pomocí ukotvení obrysu (standardní). |
CPane::D ockToFrameWindow | Ukotví ukotvené podokno k rámu. (Přepsání CBasePane::DockToFrameWindow .) |
CPane::D oesAllowSiblingBars | Určuje, jestli můžete ukotvit další podokno na stejném řádku, na kterém je ukotveno aktuální podokno. |
CPane::FloatPane | S plovoucím podoknem. |
CPane::GetAvailableExpandSize | Vrátí množství v pixelech, které může podokno rozbalit. |
CPane::GetAvailableStretchSize | Vrátí množství v pixelech, které může podokno zmenšit. |
CPane::GetBorders | Vrátí šířku ohraničení podokna. |
CPane::GetClientHotSpot | Vrátí horké místo pro podokno. |
CPane::GetDockSiteRow | Vrátí řádek ukotvení, ve kterém je podokno ukotveno. |
CPane::GetExclusiveRowMode | Určuje, zda je podokno ve výhradním režimu řádku. |
CPane::GetHotSpot | Vrátí aktivní bod uložený v podkladovém CMFCDragFrameImpl objektu. |
CPane::GetMinSize | Načte minimální povolenou velikost podokna. |
CPane::GetPaneName | Načte název podokna. |
CPane::GetResizeStep |
Používá se interně. |
CPane::GetThisClass |
Používá se architekturou k získání ukazatele na CRuntimeClass objektu, který je přidružen k tomuto typu třídy. |
CPane::GetVirtualRect | Načte virtuální obdélník podokna. |
CPane::IsChangeState | Při přesouvání podokna tato metoda analyzuje umístění podokna vzhledem k ostatním podokenám, ukotvení řádků a oken minirámeček a vrátí odpovídající AFX_CS_STATUS hodnotu. |
CPane::IsDragMode | Určuje, jestli se podokno přetahuje. |
CPane::IsInFloatingMultiPaneFrameWnd | Určuje, jestli je podokno v okně s rámečkem s více podokny. (Přepsání CBasePane::IsInFloatingMultiPaneFrameWnd .) |
CPane::IsLeftOf | Určuje, zda je podokno vlevo od zadaného obdélníku (nebo nad). |
CPane::IsResizable | Určuje, zda je možné změnit velikost podokna. (Přepsání CBasePane::IsResizable.) |
CPane::IsTabbed | Určuje, zda bylo podokno vloženo do ovládacího prvku karta okna s kartami. (Přepsání CBasePane::IsTabbed.) |
CPane::LoadState | Načte stav podokna z registru. (Přepsání CBasePane::LoadState.) |
CPane::MoveByAlignment | Přesune podokno a virtuální obdélník o zadanou velikost. |
CPane::MovePane | Přesune podokno na zadaný obdélník. |
CPane::OnAfterChangeParent | Volá se rozhraním, když se změnil nadřazený prvek podokna. |
CPane::OnBeforeChangeParent | Volá se rozhraním, když se chystá změnit nadřazený prvek podokna. |
CPane::OnPressCloseButton | Volá se rozhraním, když uživatel zvolí tlačítko Zavřít v titulku podokna. |
CPane::OnProcessDblClk |
Používá se interně. |
CPane::OnShowControlBarMenu | Volá se rozhraním, když se chystá zobrazit speciální nabídka podokna. |
CPane::OnShowControlBarMenu | Volá se rozhraním, když se chystá zobrazit speciální nabídka podokna. |
CPane::PrepareToDock |
Používá se interně. |
CPane::RecalcLayout | Přepočítá informace o rozložení pro podokno. (Přepsání CBasePane::RecalcLayout.) |
CPane::SaveState | Uloží stav podokna do registru. (Přepsání CBasePane::SaveState.) |
CPane::SetActiveInGroup | Označí podokno jako aktivní. |
CPane::SetBorders | Nastaví hodnoty ohraničení podokna. |
CPane::SetClientHotSpot | Nastaví aktivní bod podokna. |
CPane::SetDockState | Obnoví informace o stavu ukotvení podokna. |
CPane::SetExclusiveRowMode | Povolí nebo zakáže výhradní režim řádků. |
CPane::SetMiniFrameRTC | Nastaví informace o třídě modulu runtime pro výchozí okno minirámeček. |
CPane::SetMinSize | Nastaví minimální povolenou velikost podokna. |
CPane::SetVirtualRect | Nastaví virtuální obdélník podokna. |
CPane::StretchPaneDeferWndPos | Roztáhne podokno svisle nebo vodorovně na základě stylu ukotvení. |
CPane::ToggleAutoHide | Přepíná režim automatického skrytí. |
CPane::UndockPane | Odebere podokno z webu docku, výchozího posuvníku nebo okna mini rámečku, kde je aktuálně ukotvený. (Přepsání CBasePane::UndockPane.) |
CPane::UpdateVirtualRect | Aktualizuje virtuální obdélník. |
Chráněné metody
Název | Popis |
---|---|
CPane::OnAfterDock | Volané architekturou, když je ukotveno podokno. |
CPane::OnAfterFloat | Volané architekturou, když je podokno plovoucí. |
CPane::OnBeforeDock | Volané architekturou, když se podokno chystá ukotvit. |
CPane::OnBeforeFloat | Volané architekturou, když se má podokno plout. |
Datové členy
Název | Popis |
---|---|
CPane::m_bHandleMinSize | Umožňuje konzistentní zpracování minimální velikosti pro podokna. |
CPane::m_recentDockInfo | Obsahuje nedávné informace o ukotvení. |
Poznámky
Objekty CPane
se obvykle neskládají přímo. Pokud potřebujete podokno s dokovacími funkcemi, odvodit objekt z CDockablePane. Pokud požadujete funkci panelu nástrojů, odvodit objekt z CMFCToolBar.
Když odvozujete třídu z CPane
, může být ukotvena v CDockSite a může být plovoucí v CPaneFrameWnd.
Hierarchie dědičnosti
Požadavky
Hlavička: afxPane.h
CPane::AdjustSizeImmediate
Okamžitě přepočítá rozložení podokna.
virtual void AdjustSizeImmediate(BOOL bRecalcLayout = TRUE);
Parametry
bRecalcLayout
[v] TRUE pro automatické přepočítání rozložení podokna; jinak NEPRAVDA.
Poznámky
Tuto metodu zavolejte, když dynamicky změníte rozložení podokna. Tuto metodu můžete například volat, když skryjete nebo zobrazíte tlačítka panelu nástrojů.
CPane::AllocElements
Přidělí úložiště pro interní použití.
BOOL AllocElements(
int nElements,
int cbElement);
Parametry
nElements
[v] Počet prvků, pro které se má přidělit úložiště.
cbElement
[v] Velikost prvku v bajtech.
Návratová hodnota
FALSE, pokud přidělení paměti selže; jinak, PRAVDA.
CPane::AllowShowOnPaneMenu
Určuje, jestli je podokno uvedené v seznamu vygenerovaných modulem runtime pro aplikaci.
virtual BOOL AllowShowOnPaneMenu() const;
Návratová hodnota
TRUE, pokud je podokno zobrazeno v seznamu; jinak NEPRAVDA. Základní implementace vždy vrátí hodnotu TRUE.
Poznámky
Vygenerovaná aplikace AppWizard obsahuje možnost nabídky, která obsahuje podokna, která obsahuje. Tato metoda určuje, zda je podokno zobrazeno v seznamu.
CPane::CalcAvailableSize
Vypočítá rozdíl velikosti mezi zadaným obdélníkem a obdélníkem aktuálního okna.
virtual CSize CalcAvailableSize(CRect rectRequired);
Parametry
rectRequired
[v] Požadovaný obdélník.
Návratová hodnota
Rozdíl v šířce a výšce mezi rectRequired a aktuálním obdélníkem okna.
CPane::CalcInsideRect
Vypočítá vnitřní obdélník podokna, včetně ohraničení a úchytů.
void CalcInsideRect(
CRect& rect,
BOOL bHorz) const;
Parametry
Rect
[ven] Obsahuje velikost a posun klientské oblasti podokna.
bHorz
[v] TRUE, pokud je podokno orientované vodorovně; jinak NEPRAVDA.
Poznámky
Tato metoda je volána architekturou, když musí přepočítat rozložení pro podokno. Parametr rect je vyplněn velikostí a posunem klientské oblasti podokna. To zahrnuje jeho ohraničení a úchyty.
CPane::CalcRecentDockedRect
Vypočítá nedávno ukotvený obdélník.
void CalcRecentDockedRect();
Poznámky
Tato metoda aktualizuje CPane::m_recentDockInfo.
CPane::CalcSize
Vypočítá velikost podokna.
virtual CSize CalcSize(BOOL bVertDock);
Parametry
bVertDock
[v] TRUE, pokud je podokno ukotveno svisle, jinak NEPRAVDA.
Návratová hodnota
Výchozí implementace této metody vrátí velikost (0, 0).
Poznámky
Odvozené třídy by měly tuto metodu přepsat.
CPane::CanBeDocked
Určuje, zda lze podokno ukotvit v zadaném základním podokně.
virtual BOOL CanBeDocked(CBasePane* pDockBar) const;
Parametry
pDockBar
[v] Určuje podokno, do kterého se má toto podokno ukotvit.
Návratová hodnota
TRUE, pokud lze toto podokno ukotvit v zadaném ukotvení podokno; jinak NEPRAVDA.
Poznámky
Tato metoda je obvykle volána architekturou k určení, zda lze podokno ukotvit v zadaném ukotvení podokna. Chcete-li zjistit, zda je možné ukotvit podokno, metoda vyhodnotí aktuálně povolené ukotvení podokna.
Povolení ukotvení na různých stranách okna rámečku voláním CBasePane::EnableDocking.
CPane::CanBeTabbedDocument
Určuje, zda lze podokno převést na dokument s kartami.
virtual BOOL CanBeTabbedDocument() const;
Návratová hodnota
TRUE, pokud podokno lze převést na dokument s kartami; jinak NEPRAVDA.
Poznámky
Tuto metodu přepište v odvozené třídě a vraťte hodnotu FALSE, pokud chcete zabránit převodu podokna na dokument s kartami. Dokument s kartami nebude uvedený v nabídce Pozice okna.
CPane::ConvertToTabbedDocument
Převede ukotvené podokno na dokument s kartami.
virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);
Parametry
bActiveTabOnly
[v] Nepoužívá se v CPane::ConvertToTabbedDocument
.
Poznámky
Dokovatelné podokna je možné převést na dokumenty s kartami. Informace naleznete v tématu CDockablePane::ConvertToTabbedDocument.
CPane::CopyState
Zkopíruje stav podokna.
virtual void CopyState(CPane* pOrgBar);
Parametry
pOrgBar
[v] Ukazatel na podokno
Poznámky
Tato metoda zkopíruje stav pOrgBar do aktuálního podokna.
CPane::Create
Vytvoří řídicí panel a připojí ho k objektu CPane .
virtual BOOL Create(
LPCTSTR lpszClassName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
CCreateContext* pContext = NULL);
Parametry
lpszClassName
[v] Určuje název třídy Windows.
dwStyle
[v] Určuje atributy stylu okna. Další informace naleznete v tématu Styly oken.
Rect
[v] Určuje počáteční velikost a umístění okna pParentWnd v souřadnicích klienta.
pParentWnd
[in, out] Určuje nadřazené okno tohoto podokna.
Nid
[v] Určuje ID podokna.
dwControlBarStyle
[v] Určuje styl podokna. Další informace naleznete v tématu CBasePane::CreateEx.
pContext
[in, out] Určuje kontext vytvoření podokna.
Návratová hodnota
TRUE, pokud se podokno úspěšně vytvořilo; jinak NEPRAVDA.
Poznámky
Tato metoda vytvoří podokno Windows a připojí ho k objektu CPane
.
Pokud jste před voláním Create
explicitně inicializovali CPane::m_recentDockInfo , použije se jako obdélník při plovoucí nebo ukotvení podokna jako obdélník.
CPane::CreateDefaultMiniframe
Vytvoří minirámeček okna pro plovoucí podokno.
virtual CPaneFrameWnd* CreateDefaultMiniframe(CRect rectInitial);
Parametry
rectInitial
[v] Určuje počáteční velikost a umístění v souřadnicích obrazovky v okně minirámeček, které se má vytvořit.
Návratová hodnota
Nově vytvořené okno s minirámečkem.
Poznámky
Tato metoda je volána architekturou k vytvoření minirámeček okno při plovoucím podokně. Minirámeček okna může být typu CPaneFrameWnd nebo typu CMultiPaneFrameWnd. Pokud má podokno styl AFX_CBRS_FLOAT_MULTI, vytvoří se okno s více mini rámečky.
Informace o třídě modulu runtime pro okno mini-frame jsou uloženy v členu CPane::m_pMiniFrameRTC
. Odvozenou třídu můžete použít k nastavení tohoto člena, pokud se rozhodnete vytvořit přizpůsobená mini-rámová okna.
CPane::CreateEx
Vytvoří řídicí panel a připojí ho k objektu CPane .
virtual BOOL CreateEx(
DWORD dwStyleEx,
LPCTSTR lpszClassName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
CCreateContext* pContext = NULL);
Parametry
dwStyleEx
[v] Určuje atributy rozšířeného stylu okna. Další informace naleznete v tématu Rozšířené styly oken.
lpszClassName
[v] Určuje název třídy Windows.
dwStyle
[v] Určuje atributy stylu okna. Další informace naleznete v tématu Styly oken.
Rect
[v] Určuje počáteční velikost a umístění okna pParentWnd v souřadnicích klienta.
pParentWnd
[in, out] Určuje nadřazené okno tohoto podokna.
Nid
[v] Určuje ID podokna.
dwControlBarStyle
[v] Určuje styl podokna. Další informace naleznete v tématu CBasePane::CreateEx.
pContext
[in, out] Určuje kontext vytvoření podokna.
Návratová hodnota
TRUE, pokud se podokno úspěšně vytvořilo; jinak NEPRAVDA.
Poznámky
Tato metoda vytvoří podokno Windows a připojí ho k objektu CPane
.
Pokud jste před voláním CreateEx
explicitně inicializovali CPane::m_recentDockInfo , použije se jako obdélník při plovoucí nebo ukotvení podokna jako obdélník.
CPane::D ockByMouse
Ukotví podokno pomocí myši.
virtual BOOL DockByMouse(CBasePane* pDockBar);
Parametry
pDockBar
[v] Určuje základní podokno, do kterého chcete toto podokno ukotvit.
Návratová hodnota
TRUE, pokud bylo podokno úspěšně ukotveno; jinak NEPRAVDA.
CPane::D ockPane
Ukotví plovoucí podokno do základního podokna.
virtual BOOL DockPane(
CBasePane* pDockBar,
LPCRECT lpRect,
AFX_DOCK_METHOD dockMethod);
Parametry
pDockBar
[in, out] Určuje základní podokno pro ukotvení tohoto podokna.
lpRect
[v] Určuje obdélník v základním podokně, kde se má toto podokno ukotvit.
dockMethod
[v] Určuje dokovací metodu, která se má použít. Dostupné možnosti jsou následující:
Možnost | Popis |
---|---|
DM_UNKNOWN | Architektura používá tuto možnost, pokud je dokovací metoda neznámá. Podokno neukládá poslední plovoucí pozici. Tuto možnost můžete použít také k programovému ukotvení podokna, když nebudete muset uložit poslední plovoucí pozici. |
DM_MOUSE | Používá se interně. |
DM_DBL_CLICK | Tato možnost se používá při poklikání úchytu. Podokno se přemísťuje na nejnovější pozici ukotvení. Pokud je podokno poklikáním odpojeno, podokno se přemísťuje na nejnovější plovoucí pozici. |
DM_SHOW | Tuto možnost lze použít k programovému ukotvení podokna. Podokno ukládá poslední plovoucí pozici. |
DM_RECT | Podokno se ukotví v oblasti určené nástrojem lpRect. |
DM_STANDARD | Když použijete tuto možnost, architektura při přesouvání nakreslí podokno jako rámec osnovy. |
Návratová hodnota
TRUE, pokud bylo podokno úspěšně ukotveno; jinak NEPRAVDA.
Poznámky
Tato metoda ukotví podokno do základního podokna určeného parametrem pDockBar . Nejprve je nutné povolit ukotvení voláním CBasePane::EnableDocking.
CPane::D ockPaneStandard
Ukotví podokno pomocí ukotvení obrysu (standardní).
virtual CPane* DockPaneStandard(BOOL& bWasDocked);
Parametry
bWasDocked
[v] TRUE, pokud bylo podokno úspěšně ukotveno; jinak NEPRAVDA.
Návratová hodnota
Tato metoda vždy vrátí this
ukazatel.
Poznámky
Tato metoda se používá pouze pro podokna odvozená z CDockablePane – třída. Další informace naleznete v tématu CDockablePane::D ockPaneStandard.
CPane::D ockToFrameWindow
Ukotví ukotvené podokno k rámu.
virtual BOOL DockToFrameWindow(
DWORD dwAlignment,
LPCRECT lpRect = NULL,
DWORD dwDockFlags = DT_DOCK_LAST,
CBasePane* pRelativeBar = NULL,
int nRelativeIndex = -1,
BOOL bOuterEdge = FALSE);
Parametry
dwAlignment
[v] Na straně nadřazeného rámce, ke kterému chcete podokno ukotvit.
lpRect
[v] Zadaná velikost.
dwDockFlags
[v] Ignorovaný.
pRelativeBar
[v] Ignorovaný.
nRelativeIndex
[v] Ignorovaný.
bOuterEdge
[v] Pokud je hodnota TRUE a na straně určené dwAlignment jsou k dispozici další ukotvená podokna, je podokno ukotveno mimo ostatní podokna, blíže k okraji nadřazeného rámce. Pokud je hodnota FALSE, podokno se ukotví blíž ke středu klientské oblasti.
Návratová hodnota
NEPRAVDA, pokud nelze vytvořit oddělovač podokna ( CPaneDivider – třída), jinak hodnota TRUE.
Poznámky
CPane::D oesAllowSiblingBars
Určuje, jestli můžete ukotvit další podokno na stejném řádku, na kterém je ukotveno aktuální podokno.
virtual BOOL DoesAllowSiblingBars() const;
Návratová hodnota
TRUE, pokud toto podokno může ukotvit do jiného podokna na stejném řádku jako sám; jinak NEPRAVDA.
Poznámky
Toto chování můžete povolit nebo zakázat voláním CPane::SetExclusiveRowMode.
Ve výchozím nastavení mají panely nástrojů zakázaný exkluzivní režim řádků a řádek nabídek má povolený exkluzivní režim řádku.
CPane::FloatPane
S plovoucím podoknem.
virtual BOOL FloatPane(
CRect rectFloat,
AFX_DOCK_METHOD dockMethod = DM_UNKNOWN,
bool bShow = true);
Parametry
rectFloat
[v] Určuje umístění v souřadnicích obrazovky pro umístění podokna, když je plovoucí.
dockMethod
[v] Určuje dokovací metodu, která se má použít při plovoucím podokně. Seznam možných hodnot naleznete v části CPane::D ockPane.
BShow
[v] TRUE pro zobrazení podokna při plovoucí; jinak NEPRAVDA.
Návratová hodnota
TRUE, pokud bylo podokno úspěšně plovoucí nebo pokud podokno nelze floatd, protože CBasePane::CanFloat vrátí HODNOTU FALSE; jinak NEPRAVDA.
Poznámky
Volání této metody plovoucí podokno na pozici, která je určena rectFloat parametr. Tato metoda automaticky vytvoří nadřazené minirámeček okno pro podokno.
CPane::GetAvailableExpandSize
Vrátí množství v pixelech, které může podokno rozbalit.
virtual int GetAvailableExpandSize() const;
Návratová hodnota
Pokud je podokno ukotveno vodorovně, návratová hodnota je dostupná šířka; v opačném případě je návratová hodnota dostupná výška.
Poznámky
CPane::GetAvailableStretchSize
Vrátí množství v pixelech, které může podokno zmenšit.
virtual int GetAvailableStretchSize() const;
Návratová hodnota
Množství v pixelech, které může podokno zmenšit. Pokud je podokno ukotveno vodorovně, je tato velikost dostupná šířka; jinak se jedná o dostupnou výšku.
Poznámky
Dostupná velikost roztažení se vypočítá odečtením minimální povolené velikosti podokna ( CPane::GetMinSize) od aktuální velikosti ( CWnd::GetWindowRect).
CPane::GetBorders
Vrátí šířku ohraničení podokna.
CRect GetBorders() const;
Návratová hodnota
CRect objekt, který obsahuje aktuální šířku v pixelech na každé straně podokna. Například hodnota left
člena objektu CRect
je šířka levého ohraničení.
Poznámky
Pokud chcete nastavit velikost ohraničení, zavolejte CPane::SetBorders.
CPane::GetClientHotSpot
Vrátí horké místo pro podokno.
CPoint GetClientHotSpot() const;
Návratová hodnota
Poznámky
Aktivní bod je bod v podokně, které uživatel vybere a podrží pro přesunutí podokna. Aktivní bod se používá k hladké animaci, když se podokno přesune z ukotvené pozice.
CPane::GetDockSiteRow
Vrátí řádek docku ( CDockingPanesRow – třída), ve kterém je podokno ukotveno.
CDockingPanesRow* GetDockSiteRow() const;
Návratová hodnota
A CDockingPanesRow
* odkazující na řádek ukotvení, ve kterém je podokno ukotveno, nebo NULL, pokud podokno není ukotveno.
CPane::GetExclusiveRowMode
Určuje, jestli je podokno ve výhradním režimu řádku.
virtual BOOL GetExclusiveRowMode() const;
Návratová hodnota
TRUE, pokud je podokno ve výhradním režimu řádku; jinak NEPRAVDA.
Poznámky
Další informace o výhradním režimu řádku naleznete v tématu CPane::SetExclusiveRowMode.
CPane::GetHotSpot
Vrátí aktivní bod uložený v podkladovém CMFCDragFrameImpl
objektu.
CPoint GetHotSpot() const;
Návratová hodnota
Poznámky
Třída CPane
obsahuje CMFCDragFrameImpl
objekt, m_dragFrameImpl
který je zodpovědný za vykreslení obdélníku, který se zobrazí, když uživatel přesune podokno ve standardním dokovacím režimu. Horké místo se používá k vykreslení obdélníku vzhledem k aktuální pozici myši při přesouvání podokna uživatelem.
CPane::GetMinSize
Načte minimální povolenou velikost podokna.
virtual void GetMinSize(CSize& size) const;
Parametry
velikost
[ven] Objekt CSize
, který je vyplněný minimální povolenou velikostí.
Poznámky
CPane::GetPaneName
Načte název podokna.
virtual void GetPaneName(CString& strName) const;
Parametry
strName
[ven] Objekt CString
, který je vyplněn názvem titulku.
Poznámky
Název podokna se zobrazí v oblasti titulků, když je podokno ukotvené nebo plovoucí. Pokud je podokno součástí skupiny s kartami, zobrazí se název v oblasti karty. Pokud je podokno v režimu automatického skrytí, zobrazí se název na .CMFCAutoHideButton
CPane::GetVirtualRect
Načte virtuální obdélník podokna.
void GetVirtualRect(CRect& rectVirtual) const;
Parametry
rectVirtual
[ven] Objekt CRect
, který je vyplněný virtuálním obdélníkem.
Poznámky
Když se podokno přesune, architektura uloží původní pozici podokna ve virtuálním obdélníku. Architektura může použít virtuální obdélník k obnovení původní pozice podokna.
Nevolejte metody, které souvisejí s virtuálními obdélníky, pokud nepřesouvají podokna programově.
CPane::IsChangeState
Při přesouvání podokna tato metoda analyzuje jeho pozici vzhledem k ostatním podokenám, ukotvení řádků a oken minirámeček a vrátí odpovídající AFX_CS_STATUS hodnotu.
virtual AFX_CS_STATUS IsChangeState(
int nOffset,
CBasePane** ppTargetBar) const;
Parametry
nOffset
[v] Určuje dokovací citlivost. Například podokno, které se přesune v rámci nOffset pixelů z řádku docku, se ukotví.
ppTargetBar
[v] Když metoda vrátí, ppTargetBar obsahuje buď ukazatel na objekt, na který má být aktuální podokno ukotveno, nebo NULL pokud by nemělo dojít k ukotvení.
Návratová hodnota
Jedna z následujících hodnot AFX_CS_STATUS:
Hodnota | Popis |
---|---|
CS_NOTHING | Podokno není blízko webu docku. Architektura neukotví podokno. |
CS_DOCK_IMMEDIATELY | Podokno je přes web docku a je povolený styl DT_IMMEDIATE. Architektura dokuje podokno okamžitě. |
CS_DELAY_DOCK | Podokno je nad webem docku, který je buď dalším ukotveným podoknem, nebo okrajem hlavního rámce. Architektura ukotví podokno, když uživatel přesun uvolní. |
CS_DELAY_DOCK_TO_TAB | Podokno je přes web docku, který způsobí ukotvení podokna v okně s kartami. K tomu dochází v případě, že je podokno nad titulkem jiného ukotveného podokna nebo přes oblast karet v podokně s kartami. Architektura ukotví podokno, když uživatel přesun uvolní. |
CPane::IsDragMode
Určuje, jestli se podokno přesouvá.
virtual BOOL IsDragMode() const;
Návratová hodnota
TRUE, pokud se podokno přesouvá; jinak NEPRAVDA.
Poznámky
CPane::IsInFloatingMultiPaneFrameWnd
Určuje, zda je podokno v okně s rámečkem s více podokny ( CMultiPaneFrameWnd – třída).
virtual BOOL IsInFloatingMultiPaneFrameWnd() const;
Návratová hodnota
TRUE, pokud je podokno v okně s více podokny rámečku; jinak NEPRAVDA.
Poznámky
V okně s rámečkem s více podokny můžou plout pouze ukotvená podokna. CPane::IsInFloatingMultiPaneFrameWnd
Proto vždy vrátí hodnotu FALSE.
CPane::IsLeftOf
Určuje, zda je podokno vlevo od zadaného obdélníku (nebo nad).
bool IsLeftOf(
CRect rect,
bool bWindowRect = true) const;
Parametry
Rect
[v] Objekt CRect
, který se používá k porovnání.
bWindowRect
[v] Pokud je pravda, předpokládá se, že rect obsahuje souřadnice obrazovky. Pokud je hodnota NEPRAVDA, předpokládá se, že rect obsahuje souřadnice klienta.
Návratová hodnota
Poznámky
Pokud je podokno ukotveno vodorovně, tato metoda zkontroluje, zda je jeho umístění vlevo od rect. V opačném případě tato metoda zkontroluje, zda je umístění nad rect.
CPane::IsResizable
Určuje, jestli je podokno možné měnit velikost.
virtual BOOL IsResizable() const;
Návratová hodnota
TRUE, pokud je podokno možné měnit velikost; jinak NEPRAVDA.
Poznámky
Základní CPane
objekty nelze měnit velikostí.
Správce ukotvení používá k určení rozložení podokna příznak umožňující změnu velikosti. Nesložitelná podokna se vždy nacházejí na vnějších okrajích nadřazeného rámečku.
Neschválitelné příčky se nedají umístit do dokovacích kontejnerů.
CPane::IsTabbed
Určuje, zda bylo podokno vloženo do ovládacího prvku karta okna s kartami.
virtual BOOL IsTabbed() const;
Návratová hodnota
TRUE, pokud je podokno tabbed; jinak NEPRAVDA.
Poznámky
Stav s kartami se zpracovává odděleně od stavů plovoucí, ukotvené a automatické skrytí.
CPane::LoadState
Načte stav podokna z registru.
virtual BOOL LoadState(
LPCTSTR lpszProfileName = NULL,
int nIndex = -1,
UINT uiID = (UINT) -1);
Parametry
lpszProfileName
[v] Název profilu
nIndex
[v] Index profilu
UIID
[v] ID podokna.
Návratová hodnota
TRUE, pokud byl stav podokna úspěšně načten; jinak NEPRAVDA.
Poznámky
Architektura volá tuto metodu pro načtení stavu podokna z registru. Přepsat v odvozené třídě načtení dalších informací, které jsou uloženy CPane ::SaveState.
Když tuto metodu přepíšete, zavolejte také základní metodu a vrátí hodnotu FALSE, pokud základní metoda vrátí hodnotu FALSE.
CPane::m_bHandleMinSize
Umožňuje konzistentní zpracování minimálních velikostí podoken.
AFX_IMPORT_DATA static BOOL m_bHandleMinSize;
Poznámky
Pokud jedno nebo více ukotvených podoken v aplikaci přepíše GetMinSize
nebo pokud vaše aplikace volá SetMinSize
, můžete chtít nastavit tohoto statického člena na HODNOTU TRUE, aby architektura mohla konzistentně zpracovávat velikost podoken.
Pokud je tato hodnota nastavena na hodnotu PRAVDA, všechna podokna, jejichž velikost by měla být zmenšena pod jejich minimální velikost, jsou oříznuty, nejsou roztaženy. Vzhledem k tomu, že architektura používá oblasti oken pro účely určení velikosti podokna, neměňte velikost oblasti okna pro ukotvení příček, pokud je tato hodnota nastavena na HODNOTU PRAVDA.
CPane::m_recentDockInfo
Obsahuje nedávné informace o ukotvení.
CRecentDockSiteInfo m_recentDockInfo;
Poznámky
Architektura ukládá nejnovější informace o stavu ukotvení pro podokno v tomto členu.
CPane::MoveByAlignment
Přesune podokno a virtuální obdélník o zadanou velikost.
BOOL MoveByAlignment(
DWORD dwAlignment,
int nOffset);
Parametry
dwAlignment
[v] Určuje zarovnání podokna.
nOffset
[v] Množství v pixelech, o které chcete podokno a virtuální obdélník přesunout.
Návratová hodnota
Poznámky
DwAlignment může být libovolná z následujících hodnot:
Hodnota | Popis |
---|---|
CBRS_ALIGN_TOP | Umožňuje ukotvit podokno do horní části klientské oblasti okna rámečku. |
CBRS_ALIGN_BOTTOM | Umožňuje ukotvit podokno do dolní části klientské oblasti okna rámečku. |
CBRS_ALIGN_LEFT | Umožňuje ukotvení podokna na levé straně klientské oblasti okna rámečku. |
CBRS_ALIGN_RIGHT | Umožňuje ukotvit podokno na pravou stranu klientské oblasti okna rámečku. |
CBRS_ALIGN_ANY | Umožňuje ukotvit podokno na libovolnou stranu klientské oblasti okna rámečku. |
Pokud dwAlignment obsahuje příznak CBRS_ALIGN_LEFT nebo CBRS_ALIGN_RIGHT, podokno a virtuální obdélník se přesunou vodorovně; jinak pokud dwAlignment obsahuje CBRS_ALIGN_TOP nebo CBRS_ALIGN_BOTTOM příznak, podokno a virtuální obdélník se přesunou svisle.
CPane::MovePane
Přesune podokno na zadaný obdélník.
virtual CSize MovePane(
CRect rectNew,
BOOL bForceMove,
HDWP& hdwp);
Parametry
rectNew
[v] Určuje nový obdélník pro podokno.
bForceMove
[v] Pokud true, tato metoda ignoruje minimální povolenou velikost podokna ( CPane::GetMinSize); v opačném případě je podokno upraveno, v případě potřeby, aby se zajistilo, že je alespoň minimální povolená velikost.
hdwp
[v] Nepoužívá se.
Návratová hodnota
Objekt CSize
, který obsahuje rozdíly v šířce a výšce mezi novými a starými obdélníky (starý obdélník - rectNew).
Poznámky
Tato metoda se používá pouze pro ukotvené příčky.
CPane::OnAfterChangeParent
Volá se rozhraním, když se změnil nadřazený prvek podokna.
virtual void OnAfterChangeParent(CWnd* pWndOldParent);
Parametry
pWndOldParent
[in, out] Předchozí nadřazené okno podokna.
Poznámky
Tato metoda je volána architekturou, když se nadřazený prvek podokna změnil z důvodu ukotvení nebo plovoucí operace.
CPane::OnAfterDock
Volané architekturou, když je ukotveno podokno.
virtual void OnAfterDock(
CBasePane* pBar,
LPCRECT lpRect,
AFX_DOCK_METHOD dockMethod);
Parametry
pBar
[v] Tento parametr se nepoužívá.
lpRect
[v] Tento parametr se nepoužívá.
dockMethod
[v] Tento parametr se nepoužívá.
CPane::OnAfterFloat
Volá se podle architektury po plovoucím podokně.
virtual void OnAfterFloat();
Poznámky
Tuto metodu můžete přepsat v odvozené třídě, pokud chcete provést jakékoli zpracování po plovoucím podokně.
CPane::OnBeforeChangeParent
Volá se rozhraním, když se chystá změnit nadřazený prvek podokna.
virtual void OnBeforeChangeParent(
CWnd* pWndNewParent,
BOOL bDelay = FALSE);
Parametry
pWndNewParent
[in, out] Určuje nové nadřazené okno.
bDelay
[v] PRAVDA, aby se zpozdil globální dokovací rozložení úpravy; jinak NEPRAVDA.
Poznámky
Tato metoda je volána architekturou, když nadřazený podokno se chystá změnit, protože podokno je ukotveno nebo plovoucí.
Ve výchozím nastavení je podokno neregistrováno s dokovacím podoknem voláním CDockSite::RemovePane
.
CPane::OnBeforeDock
Volá se rozhraním, když se podokno chystá dokovat.
virtual BOOL OnBeforeDock(
CBasePane** ppDockBar,
LPCRECT lpRect,
AFX_DOCK_METHOD dockMethod);
Parametry
ppDockBar
[in, out] Určuje podokno, do kterého se toto podokno ukotví.
lpRect
[v] Určuje dokovací obdélník.
dockMethod
[v] Určuje dokovací metodu.
Návratová hodnota
TRUE, pokud je možné ukotvit podokno. Pokud funkce vrátí hodnotu NEPRAVDA, operace ukotvení se přeruší.
Poznámky
Tato metoda je volána architekturou, když se chystá ukotvení podokna. Tuto metodu můžete přepsat v odvozené třídě, pokud chcete provést jakékoli zpracování před ukončením ukotvení podokna.
CPane::OnBeforeFloat
Volá se rozhraním, když se chystá plovoucí podokno.
virtual BOOL OnBeforeFloat(
CRect& rectFloat,
AFX_DOCK_METHOD dockMethod);
Parametry
rectFloat
[v] Určuje umístění a velikost podokna, když je v plovoucím stavu.
dockMethod
[v] Určuje dokovací metodu podokna.
Návratová hodnota
TRUE, pokud podokno může být plovoucí; jinak NEPRAVDA.
Poznámky
Tato metoda je volána architekturou, když se podokno chystá plovoucí. Tuto metodu můžete přepsat v odvozené třídě, pokud chcete provést jakékoli zpracování před podoknem nakonec floats.
CPane::OnPressCloseButton
Volá se rozhraním, když uživatel stiskne tlačítko Zavřít na titulku podokna.
virtual void OnPressCloseButton();
Poznámky
Tato metoda je volána rozhraním, když uživatel stiskne tlačítko Zavřít v titulku podokna. Chcete-li dostávat oznámení o události Zavřít , můžete tuto metodu přepsat v odvozené třídě.
CPane::OnShowControlBarMenu
Volá se rozhraním, když se chystá zobrazit speciální nabídka podokna.
virtual BOOL OnShowControlBarMenu(CPoint point);
Parametry
bod
[v] Určuje umístění nabídky.
Návratová hodnota
TRUE, pokud lze zobrazit nabídku; jinak NEPRAVDA.
Poznámky
Nabídka obsahuje několik položek, které umožňují určit chování podokna, konkrétně: plovoucí, ukotvení, automatické skrytí a skrytí. Tuto nabídku můžete povolit pro všechna podokna voláním CDockingManager::EnableDockSiteMenu.
CPane::RecalcLayout
Přepočítá informace o rozložení pro podokno.
virtual void RecalcLayout();
Poznámky
Pokud je podokno ukotvené, tato metoda aktualizuje virtuální obdélník podokna nastavením jeho velikosti na aktuální velikost podokna.
Pokud je podokno plovoucí, tato metoda upozorní nadřazený minirámeček, aby upravil velikost podokna na velikost minirámeček. Architektura zajišťuje, že minirámeček je alespoň minimální povolená velikost podokna ( CPane::GetMinSize) a v případě potřeby změní velikost minirámeček.
CPane::SaveState
Uloží stav podokna do registru.
virtual BOOL SaveState(
LPCTSTR lpszProfileName = NULL,
int nIndex = -1,
UINT uiID = (UINT) -1);
Parametry
lpszProfileName
[v] Název profilu
nIndex
[v] Index profilu
UIID
[v] ID podokna.
Návratová hodnota
TRUE, pokud byl stav úspěšně uložen; jinak NEPRAVDA.
Poznámky
Architektura volá tuto metodu, když uloží stav podokna do registru. Přepsání SaveState
v odvozené třídě pro uložení dalších informací.
Když tuto metodu přepíšete, zavolejte také základní metodu a vrátí hodnotu FALSE, pokud základní metoda vrátí hodnotu FALSE.
CPane::SetActiveInGroup
Označí podokno jako aktivní.
virtual void SetActiveInGroup(BOOL bActive);
Parametry
bActive
[v] BoOL, která určuje, jestli je podokno označeno jako aktivní.
Poznámky
Když se zobrazí ukotvené podokno nebo je vybráno tlačítko automatického skrytí, označí se odpovídající podokno automatického skrytí jako aktivní.
Vzhled tlačítka automatického skrytí, které je přidružené k podoknu, je založeno na dvou faktorech. Pokud je podokno aktivní a static BOOL CMFCAutoHideButton::m_bOverlappingTabs
je true, architektura zobrazí tlačítko automatického skrytí jako ikonu a popisek. V neaktivním podokně se v rozhraní zobrazí jenom ikona automatického skrytí.
Pokud CMFCAutoHideButton::m_bOverlappingTabs
je NEPRAVDA nebo pokud se podokno nenachází ve skupině, zobrazí rozhraní přidružené tlačítko automatického skrytí jako ikonu a popisek.
CPane::SetBorders
Nastaví hodnoty ohraničení podokna.
void SetBorders(
int cxLeft = 0,
int cyTop = 0,
int cxRight = 0,
int cyBottom = 0);
void SetBorders(LPCRECT lpRect);
Parametry
cxLeft
[v] Určuje šířku levého okraje podokna v pixelech.
cyTop
[v] Určuje šířku horního okraje podokna v pixelech.
cxRight
[v] Určuje šířku pravého okraje podokna v pixelech.
cyBottom
[v] Určuje šířku dolního okraje podokna v pixelech.
lpRect
[v] Objekt CRect , který obsahuje šířku v pixelech každého ohraničení podokna.
Poznámky
Voláním této funkce nastavíte velikosti ohraničení podokna.
CPane::SetClientHotSpot
Nastaví aktivní bod podokna.
void SetClientHotSpot(const CPoint& ptNew);
Parametry
ptNew
[v] Objekt CPoint
, který určuje nové horké místo.
Poznámky
Aktivní bod je bod v podokně, které uživatel vybere a podrží pro přesunutí podokna. Aktivní bod se používá k hladké animaci, když je podokno přetaženo z ukotvené pozice.
CPane::SetDockState
Obnoví informace o stavu ukotvení podokna.
virtual void SetDockState(CDockingManager* pDockManager);
Parametry
pDockManager
[v] Ukazatel na správce ukotvení hlavního okna rámce.
Poznámky
Tato metoda je volána architekturou k obnovení nedávných informací o stavu ukotvení pro podokno. V podokně jsou uložené informace o stavu ukotvení v CPane::m_recentDockInfo. Další informace naleznete v CRecentDockSiteInfo třída.
Tuto metodu můžete také volat, pokud chcete nastavit stav ukotvení při načítání informací o podokně z externího zdroje.
CPane::SetExclusiveRowMode
Povolí nebo zakáže výhradní režim řádků.
virtual void SetExclusiveRowMode(BOOL bExclusive = TRUE);
Parametry
bExclusive
[v] TRUE pro povolení výhradního režimu řádku; jinak NEPRAVDA.
Poznámky
Voláním této metody povolíte nebo zakážete výhradní režim řádků. Pokud je podokno ve výhradním režimu řádků, nemůže sdílet stejný řádek s jinými panely nástrojů.
Ve výchozím nastavení mají všechny panely nástrojů zakázaný exkluzivní režim řádků a řádek nabídek má povolený exkluzivní režim řádku.
CPane::SetMinSize
Nastaví minimální povolenou velikost podokna.
void SetMinSize(const CSize& size);
Parametry
velikost
[v] Objekt CSize
, který obsahuje minimální povolenou velikost podokna.
Poznámky
CPane::SetVirtualRect
Nastaví virtuální obdélník podokna.
void SetVirtualRect(
const CRect& rect,
BOOL bMapToParent = TRUE);
Parametry
Rect
[v] Objekt CRect
, který určuje virtuální obdélník, který se má nastavit.
bMapToParent
[v] Zadejte hodnotu TRUE, pokud rect obsahuje body relativní k nadřazené okno.
Poznámky
Virtuální obdélník ukládá původní pozici podokna při přesunutí. Architektura může k obnovení původní pozice použít virtuální obdélník.
Nevolejte metody, které souvisejí s virtuálními obdélníky, pokud nepřesouvají podokna programově.
CPane::SetMiniFrameRTC
Nastaví informace o třídě modulu runtime pro výchozí okno minirámeček.
void SetMiniFrameRTC(CRuntimeClass* pClass);
Parametry
pClass
[in, out] Určuje informace o třídě modulu runtime pro okno mini rámečku.
Poznámky
Když je podokno plovoucí, umístí se do okna CPaneFrameWnd (minirámeček). Můžete zadat vlastní CPaneFrameWnd
-odvozenou třídu, která bude použita při CPane::CreateDefaultMiniframe je volána.
CPane::StretchPaneDeferWndPos
Roztáhne podokno svisle nebo vodorovně na základě stylu ukotvení.
virtual int StretchPaneDeferWndPos(
int nStretchSize,
HDWP& hdwp);
Parametry
nStretchSize
[v] Množství v pixelech pro roztažení podokna. K zmenšení podokna použijte zápornou hodnotu.
hdwp
[v] Nepoužívá se.
Návratová hodnota
Skutečné množství v pixelech, které bylo podokno roztaženo.
Poznámky
V případě potřeby tato metoda upraví nStretchSize , aby se zajistilo, že podokno nepřekročí limity velikosti. Tyto limity jsou získány voláním CPane::GetAvailableStretchSize a CPane::GetAvailableExpandSize.
CPane::ToggleAutoHide
Přepíná režim automatického skrytí.
virtual void ToggleAutoHide();
Poznámky
Voláním této metody můžete přepnout režim automatického skrytí. Aby bylo možné přepnout do režimu automatického skrytí, musí být podokno ukotvené do okna hlavního rámce.
CPane::UndockPane
Odebere podokno z webu docku, výchozího posuvníku nebo okna mini rámečku, kde je aktuálně ukotvený.
virtual void UndockPane(BOOL bDelay = FALSE);
Parametry
bDelay
[v] Pokud nepravDA, architektura volá CBasePane::AdjustDockingLayout pro úpravu rozložení ukotvení.
Poznámky
Tato metoda slouží k programovému zrušení podokna.
CPane::UpdateVirtualRect
Aktualizuje virtuální obdélník.
void UpdateVirtualRect();
void UpdateVirtualRect(CPoint ptOffset);
void UpdateVirtualRect(CSize sizeNew);
Parametry
ptOffset
[v] Objekt CPoint
, který určuje posun, o který se má podokno posunout.
sizeNew
[v] Objekt CSize
, který určuje novou velikost podokna.
Poznámky
První přetížení nastaví virtuální obdélník pomocí aktuální pozice a velikosti podokna.
Druhé přetížení posune virtuální obdélník o množství, které je určeno ptOffset.
Třetí přetížení nastaví virtuální obdélník pomocí aktuální pozice podokna a velikost, která je určena velikostíNew.