Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Klassen CPane är en förbättring av CControlBar-klassen. Om du uppgraderar ett befintligt MFC-projekt ersätter du alla förekomster av CControlBar med CPane.
Syntax
class CPane : public CBasePane
Medlemmar
Offentliga konstruktorer
| Namn | Beskrivning |
|---|---|
CPane::~CPane |
Destructor. |
Offentliga metoder
| Namn | Beskrivning |
|---|---|
| CPane::AdjustSizeImmediate | Beräknar omedelbart om layouten för ett fönster. |
| CPane::AllocElements | Allokerar lagring för internt bruk. |
| CPane::AllowShowOnPaneMenu | Anger om fönstret visas i den körningsgenererade listan över fönster för programmet. |
| CPane::CalcAvailableSize | Beräknar skillnaden i storlek mellan en angiven rektangel och den aktuella fönsterrektangeln. |
| CPane::CalcInsideRect | Beräknar den inre rektangeln i ett fönster med hänsyn till kantlinjerna och griparna. |
| CPane::CalcRecentDockedRect | Beräknar den nyligen dockade rektangeln. |
| CPane::CalcSize | Beräknar storleken på fönstret. |
| CPane::CanBeDocked | Avgör om fönstret kan dockas i det angivna basfönstret. |
| CPane::CanBeTabbedDocument | Avgör om fönstret kan konverteras till ett tabbdokument. |
| CPane::ConvertToTabbedDocument | Konverterar ett dockbart fönster till ett tabbdokument. |
| CPane::CopyState | Kopierar tillståndet för ett fönster. (Åsidosätter CBasePane::CopyState.) |
| CPane::Create | Skapar ett kontrollfält och kopplar det till CPane-objektet. |
| CPane::CreateDefaultMiniframe | Skapar ett miniramfönster för ett flytande fönster. |
| CPane::CreateEx | Skapar ett kontrollfält och kopplar det till CPane-objektet. |
CPane::CreateObject |
Används av ramverket för att skapa en dynamisk instans av den här klasstypen. |
| CPane::D ockByMouse | Dockar ett fönster med hjälp av musdockningsmetoden. |
| CPane::D ockPane | Dockar det flytande fönstret till en basruta. |
| CPane::D ockPaneStandard | Dockar ett fönster med hjälp av dispositions-dockning (standard). |
| CPane::D ockToFrameWindow | Dockar ett dockbart fönster till en ram. (Åsidosätter CBasePane::DockToFrameWindow.) |
| CPane::D oesAllowSiblingBars | Anger om du kan docka ett annat fönster på samma rad där det aktuella fönstret är dockat. |
| CPane::FloatPane | Flyter fönstret. |
| CPane::GetAvailableExpandSize | Returnerar mängden i bildpunkter som fönstret kan expandera. |
| CPane::GetAvailableStretchSize | Returnerar mängden i bildpunkter som fönstret kan krympa. |
| CPane::GetBorders | Returnerar bredden på fönstrets kantlinjer. |
| CPane::GetClientHotSpot | Returnerar den aktiva punkten för fönstret. |
| CPane::GetDockSiteRow | Returnerar dockningsraden där fönstret är dockat. |
| CPane::GetExclusiveRowMode | Avgör om fönstret är i exklusivt radläge. |
| CPane::GetHotSpot | Returnerar den frekventa punkt som lagras i ett underliggande CMFCDragFrameImpl objekt. |
| CPane::GetMinSize | Hämtar den minsta tillåtna storleken för fönstret. |
| CPane::GetPaneName | Hämtar rubriken för fönstret. |
CPane::GetResizeStep |
Används internt. |
CPane::GetThisClass |
Används av ramverket för att hämta en pekare till det CRuntimeClass- objekt som är associerat med den här klasstypen. |
| CPane::GetVirtualRect | Hämtar den virtuella rektangeln i fönstret. |
| CPane::IsChangeState | När fönstret flyttas analyserar den här metoden fönstrets position i förhållande till andra fönster, dockrader och miniramsfönster och returnerar lämpligt AFX_CS_STATUS värde. |
| CPane::IsDragMode | Anger om fönstret dras. |
| CPane::IsInFloatingMultiPaneFrameWnd | Anger om fönstret finns i ett ramfönster med flera fönster. (Åsidosätter CBasePane::IsInFloatingMultiPaneFrameWnd.) |
| CPane::IsLeftOf | Avgör om fönstret är kvar av (eller ovan) den angivna rektangeln. |
| CPane::IsResizable | Avgör om fönstret kan ändras. (Åsidosätter CBasePane::IsResizable.) |
| CPane::IsTabbed | Avgör om fönstret har infogats i tabbkontrollen i ett fönster med flikar. (Åsidosätter CBasePane::IsTabbed.) |
| CPane::LoadState | Läser in tillståndet för fönstret från registret. (Åsidosätter CBasePane::LoadState.) |
| CPane::MoveByAlignment | Flyttar fönstret och den virtuella rektangeln med den angivna mängden. |
| CPane::MovePane | Flyttar fönstret till den angivna rektangeln. |
| CPane::OnAfterChangeParent | Anropas av ramverket när den överordnade delen av ett fönster har ändrats. |
| CPane::OnBeforeChangeParent | Anropas av ramverket när det överordnade fönstret håller på att ändras. |
| CPane::OnPressCloseButton | Anropas av ramverket när användaren väljer knappen Stäng i bildtexten för fönstret. |
CPane::OnProcessDblClk |
Används internt. |
| CPane::OnShowControlBarMenu | Anropas av ramverket när en särskild fönstermeny är på väg att visas. |
CPane::PrepareToDock |
Används internt. |
| CPane::RecalcLayout | Beräknar om layoutinformation för fönstret. (Åsidosätter CBasePane::RecalcLayout.) |
| CPane::SaveState | Sparar fönstrets tillstånd i registret. (Åsidosätter CBasePane::SaveState.) |
| CPane::SetActiveInGroup | Flaggar ett fönster som aktivt. |
| CPane::SetBorders | Anger kantlinjevärdena för fönstret. |
| CPane::SetClientHotSpot | Anger den aktiva platsen för fönstret. |
| CPane::SetDockState | Återställer dockningstillståndsinformation för fönstret. |
| CPane::SetExclusiveRowMode | Aktiverar eller inaktiverar det exklusiva radläget. |
| CPane::SetMiniFrameRTC | Anger körningsklassinformationen för standardfönstret för miniram. |
| CPane::SetMinSize | Anger den minsta tillåtna storleken för fönstret. |
| CPane::SetVirtualRect | Anger den virtuella rektangeln i fönstret. |
| CPane::StretchPaneDeferWndPos | Sträcker ut fönstret lodrätt eller vågrätt baserat på dockningsformat. |
| CPane::ToggleAutoHide | Växlar automatiskt döljläge. |
| CPane::UndockPane | Tar bort fönstret från dockningsplatsen, standardreglaget eller miniramsfönstret där det för närvarande är dockat. (Åsidosätter CBasePane::UndockPane.) |
| CPane::UpdateVirtualRect | Uppdaterar den virtuella rektangeln. |
Skyddade metoder
| Namn | Beskrivning |
|---|---|
| CPane::OnAfterDock | Anropas av ramverket när ett fönster har dockats. |
| CPane::OnAfterFloat | Anropas av ramverket när en ruta har svävat. |
| CPane::OnBeforeDock | Anropas av ramverket när fönstret är på väg att dockas. |
| CPane::OnBeforeFloat | Anropas av ramverket när ett fönster är på väg att flyta. |
Datamedlemmar
| Namn | Beskrivning |
|---|---|
| CPane::m_bHandleMinSize | Möjliggör konsekvent hantering av minsta storlek för fönster. |
| CPane::m_recentDockInfo | Innehåller den senaste dockningsinformationen. |
Anmärkningar
Objekt CPane instansieras vanligtvis inte direkt. Om du behöver ett fönster med dockningsfunktioner härleder du objektet från CDockablePane. Om du behöver funktioner i verktygsfältet härleder du objektet från CMFCToolBar.
När du härleder en klass från CPanekan den dockas i en CDockSite och den kan flyta i en CPaneFrameWnd.
Arvshierarki
Kravspecifikation
Rubrik: afxPane.h
CPane::AdjustSizeImmediate
Beräknar omedelbart om layouten för ett fönster.
virtual void AdjustSizeImmediate(BOOL bRecalcLayout = TRUE);
Parameterar
bRecalcLayout
[i] TRUE för att automatiskt beräkna om layouten för fönstret. annars FALSKT.
Anmärkningar
Anropa den här metoden när du dynamiskt ändrar layouten för ett fönster. Du kanske till exempel vill anropa den här metoden när du döljer eller visar verktygsfältsknappar.
CPane::AllocElements
Allokerar lagring för internt bruk.
BOOL AllocElements(
int nElements,
int cbElement);
Parameterar
nElements
[i] Antalet element som lagringen ska allokeras för.
cbElement
[i] Storleken, i byte, på ett element.
Returvärde
FALSE om minnesallokeringen misslyckas. annars TRUE.
CPane::AllowShowOnPaneMenu
Anger om fönstret visas i den körningsgenererade listan över fönster för programmet.
virtual BOOL AllowShowOnPaneMenu() const;
Returvärde
SANT om fönstret visas i listan. annars FALSKT. Basimplementeringen returnerar alltid TRUE.
Anmärkningar
Det AppWizard-genererade programmet innehåller ett menyalternativ som visar en lista över fönster som det innehåller. Den här metoden avgör om fönstret visas i listan.
CPane::CalcAvailableSize
Beräknar skillnaden i storlek mellan en angiven rektangel och den aktuella fönsterrektangeln.
virtual CSize CalcAvailableSize(CRect rectRequired);
Parameterar
rectRequired
[i] Den rektangel som krävs.
Returvärde
Skillnaden i bredd och höjd mellan rektRequired och den aktuella fönsterrektangeln.
CPane::CalcInsideRect
Beräknar den inre rektangeln i ett fönster, inklusive kantlinjer och gripdon.
void CalcInsideRect(
CRect& rect,
BOOL bHorz) const;
Parameterar
rekt
[ut] Innehåller storleken och förskjutningen för klientområdet i fönstret.
bHorz
[i] SANT om fönstret är vågrätt; annars FALSKT.
Anmärkningar
Den här metoden anropas av ramverket när den måste beräkna om layouten för ett fönster. Rect-parametern fylls med storleken och förskjutningen för klientområdet i fönstret. Detta inkluderar dess kantlinjer och gripdon.
CPane::CalcRecentDockedRect
Beräknar den nyligen dockade rektangeln.
void CalcRecentDockedRect();
Anmärkningar
Den här metoden uppdaterar CPane::m_recentDockInfo.
CPane::CalcSize
Beräknar storleken på fönstret.
virtual CSize CalcSize(BOOL bVertDock);
Parameterar
bVertDock
[i] SANT om fönstret dockas lodrätt, ANNARS FALSKT.
Returvärde
Standardimplementeringen av den här metoden returnerar storleken (0, 0).
Anmärkningar
Härledda klasser bör åsidosätta den här metoden.
CPane::CanBeDocked
Avgör om fönstret kan dockas i det angivna basfönstret.
virtual BOOL CanBeDocked(CBasePane* pDockBar) const;
Parameterar
pDockBar
[i] Anger fönstret där det här fönstret ska dockas.
Returvärde
SANT om det här fönstret kan dockas i det angivna dockningsfönstret. annars FALSKT.
Anmärkningar
Den här metoden anropas vanligtvis av ramverket för att avgöra om ett fönster kan dockas i det angivna dockningsfönstret. För att avgöra om fönstret kan dockas utvärderar metoden fönstrets för närvarande aktiverade dockningsjustering.
Du aktiverar dockning till de olika sidorna av ramfönstret genom att anropa CBasePane::EnableDocking.
CPane::CanBeTabbedDocument
Avgör om fönstret kan konverteras till ett tabbdokument.
virtual BOOL CanBeTabbedDocument() const;
Returvärde
SANT om fönstret kan konverteras till ett tabbdokument. annars FALSKT.
Anmärkningar
Åsidosätt den här metoden i en härledd klass och returnera FALSE om du vill förhindra att ett fönster konverteras till ett flikarat dokument. Ett tabbed-dokument visas inte på menyn Fönsterposition.
CPane::ConvertToTabbedDocument
Konverterar ett dockbart fönster till ett tabbdokument.
virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);
Parameterar
bActiveTabOnly
[i] Används inte i CPane::ConvertToTabbedDocument.
Anmärkningar
Endast dockbara fönster kan konverteras till flikar. Mer information finns i CDockablePane::ConvertToTabbedDocument.
CPane::CopyState
Kopierar tillståndet för ett fönster.
virtual void CopyState(CPane* pOrgBar);
Parameterar
pOrgBar
[i] En pekare till ett fönster.
Anmärkningar
Den här metoden kopierar tillståndet för pOrgBar till det aktuella fönstret.
CPane::Create
Skapar ett kontrollfält och kopplar det till CPane-objektet .
virtual BOOL Create(
LPCTSTR lpszClassName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
CCreateContext* pContext = NULL);
Parameterar
lpszClassName
[i] Anger namnet på Windows-klassen.
dwStyle
[i] Anger attribut för fönsterformat. Mer information finns i fönsterformat.
rekt
[i] Anger den ursprungliga storleken och positionen för fönstret pParentWnd i klientkoordinater.
pParentWnd
[in, ut] Anger det överordnade fönstret i det här fönstret.
Nid
[i] Anger fönstrets ID.
dwControlBarStyle
[i] Anger formatmallen för fönstret. Mer information finns i CBasePane::CreateEx.
pContext
[in, ut] Anger fönstrets skapa-kontext.
Returvärde
SANT om fönstret har skapats. annars FALSKT.
Anmärkningar
Den här metoden skapar ett Windows-fönster och kopplar det till CPane objektet.
Om du inte uttryckligen har initierat CPane::m_recentDockInfo innan du anropar Createanvänds parameterrekten som rektangel när du flyter eller dockar fönstret.
CPane::CreateDefaultMiniframe
Skapar ett miniramfönster för ett flytande fönster.
virtual CPaneFrameWnd* CreateDefaultMiniframe(CRect rectInitial);
Parameterar
rectInitial
[i] Anger den initiala storleken och positionen i skärmkoordinater för miniramfönstret som ska skapas.
Returvärde
Det nyskapade miniramsfönstret.
Anmärkningar
Den här metoden anropas av ramverket för att skapa ett miniramfönster när ett fönster flyttas. Miniramsfönstret kan vara av typen CPaneFrameWnd eller av typen CMultiPaneFrameWnd. Ett fönster med flera miniramar skapas om fönstret har AFX_CBRS_FLOAT_MULTI formatmall.
Körningsklassinformationen för miniramsfönstret lagras i CPane::m_pMiniFrameRTC medlemmen. Du kan använda en härledd klass för att ange den här medlemmen om du vill skapa anpassade miniramfönster.
CPane::CreateEx
Skapar ett kontrollfält och kopplar det till CPane-objektet .
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);
Parameterar
dwStyleEx
[i] Anger utökade fönsterformatattribut. Mer information finns i Utökade fönsterformat.
lpszClassName
[i] Anger namnet på Windows-klassen.
dwStyle
[i] Anger attribut för fönsterformat. Mer information finns i fönsterformat.
rekt
[i] Anger den ursprungliga storleken och positionen för fönstret pParentWnd i klientkoordinater.
pParentWnd
[in, ut] Anger det överordnade fönstret i det här fönstret.
Nid
[i] Anger fönstrets ID.
dwControlBarStyle
[i] Anger formatmallen för fönstret. Mer information finns i CBasePane::CreateEx.
pContext
[in, ut] Anger skapa-kontexten för fönstret.
Returvärde
SANT om fönstret har skapats. annars FALSKT.
Anmärkningar
Den här metoden skapar ett Windows-fönster och kopplar det till CPane objektet.
Om du inte uttryckligen har initierat CPane::m_recentDockInfo innan du anropar CreateExanvänds parameterrekten som rektangel när du flyter eller dockar fönstret.
CPane::D ockByMouse
Dockar ett fönster med hjälp av musen.
virtual BOOL DockByMouse(CBasePane* pDockBar);
Parameterar
pDockBar
[i] Anger den basruta som det här fönstret ska dockas till.
Returvärde
SANT om fönstret har dockats. annars FALSKT.
CPane::D ockPane
Dockar det flytande fönstret till en basruta.
virtual BOOL DockPane(
CBasePane* pDockBar,
LPCRECT lpRect,
AFX_DOCK_METHOD dockMethod);
Parameterar
pDockBar
[in, ut] Anger basfönstret som det här fönstret ska dockas till.
lpRect
[i] Anger rektangeln i basfönstret där det här fönstret ska dockas.
dockMethod
[i] Anger den dockningsmetod som ska användas. Tillgängliga alternativ är följande:
| Alternativ | Beskrivning |
|---|---|
| DM_UNKNOWN | Ramverket använder det här alternativet när dockningsmetoden är okänd. Fönstret lagrar inte sin senaste flytande position. Du kan också använda det här alternativet för att programmatiskt docka ett fönster när du inte behöver lagra den senaste flytande positionen. |
| DM_MOUSE | Används internt. |
| DM_DBL_CLICK | Det här alternativet används när gripdonet dubbelklickas. Fönstret flyttas vid den senaste dockningspositionen. Om fönstret inte kopplas från genom att dubbelklicka flyttas fönstret till sin senaste flytande position. |
| DM_SHOW | Det här alternativet kan användas för att programmatiskt docka fönstret. Fönstret lagrar sin senaste flytande position. |
| DM_RECT | Fönstret dockas i den region som anges av lpRect. |
| DM_STANDARD | När du använder det här alternativet ritar ramverket fönstret som en dispositionsram medan det flyttas. |
Returvärde
SANT om fönstret har dockats. annars FALSKT.
Anmärkningar
Den här metoden dockar fönstret till basfönstret som anges av pDockBar-parametern . Du måste först aktivera dockning genom att anropa CBasePane::EnableDocking.
CPane::D ockPaneStandard
Dockar ett fönster med hjälp av dispositions-dockning (standard).
virtual CPane* DockPaneStandard(BOOL& bWasDocked);
Parameterar
bWasDocked
[i] SANT om fönstret har dockats. annars FALSKT.
Returvärde
Den här metoden returnerar alltid pekaren this .
Anmärkningar
Den här metoden används endast för fönster som härleds från CDockablePane-klassen. Mer information finns i CDockablePane::D ockPaneStandard.
CPane::D ockToFrameWindow
Dockar ett dockbart fönster till en ram.
virtual BOOL DockToFrameWindow(
DWORD dwAlignment,
LPCRECT lpRect = NULL,
DWORD dwDockFlags = DT_DOCK_LAST,
CBasePane* pRelativeBar = NULL,
int nRelativeIndex = -1,
BOOL bOuterEdge = FALSE);
Parameterar
dwAlignment
[i] Den sida av den överordnade ramen som du vill docka fönstret till.
lpRect
[i] Den angivna storleken.
dwDockFlags
[i] Ignoreras.
pRelativeBar
[i] Ignoreras.
nRelativeIndex
[i] Ignoreras.
bOuterEdge
[i] Om TRUE och det finns andra dockbara fönster på sidan som anges av dwAlignment, dockas fönstret utanför de andra fönstren, närmare kanten på den överordnade ramen. Om det är FALSKT dockas fönstret närmare mitten av klientområdet.
Returvärde
FALSE om det inte går att skapa en fönsteravdelare ( CPaneDivider-klass). annars TRUE.
Anmärkningar
CPane::D oesAllowSiblingBars
Anger om du kan docka ett annat fönster på samma rad där det aktuella fönstret är dockat.
virtual BOOL DoesAllowSiblingBars() const;
Returvärde
SANT om det här fönstret kan docka till ett annat fönster på samma rad som sig själv. annars FALSKT.
Anmärkningar
Du kan aktivera eller inaktivera det här beteendet genom att anropa CPane::SetExclusiveRowMode.
Som standard har verktygsfältet exklusivt radläge inaktiverat och menyraden har exklusivt radläge aktiverat.
CPane::FloatPane
Flyter fönstret.
virtual BOOL FloatPane(
CRect rectFloat,
AFX_DOCK_METHOD dockMethod = DM_UNKNOWN,
bool bShow = true);
Parameterar
rectFloat
[i] Anger platsen, i skärmkoordinater, för att placera fönstret när det svävar.
dockMethod
[i] Anger den dockningsmetod som ska användas när fönstret svävar. En lista över möjliga värden finns i CPane::D ockPane.
bShow
[i] TRUE för att visa fönstret när det flyter; annars FALSKT.
Returvärde
SANT om fönstret har flytats eller om fönstret inte kan flyta eftersom CBasePane::CanFloat returnerar FALSE; annars FALSKT.
Anmärkningar
Anropa den här metoden för att flytta fönstret på den position som anges av parametern rectFloat . Den här metoden skapar automatiskt ett överordnat miniramfönster för fönstret.
CPane::GetAvailableExpandSize
Returnerar mängden i bildpunkter som fönstret kan expandera.
virtual int GetAvailableExpandSize() const;
Returvärde
Om fönstret dockas vågrätt är returvärdet den tillgängliga bredden. annars är returvärdet den tillgängliga höjden.
Anmärkningar
CPane::GetAvailableStretchSize
Returnerar mängden i bildpunkter som fönstret kan krympa.
virtual int GetAvailableStretchSize() const;
Returvärde
Mängden i bildpunkter som fönstret kan krympa. Om fönstret dockas vågrätt är den här mängden den tillgängliga bredden. annars är det den tillgängliga höjden.
Anmärkningar
Den tillgängliga stretchstorleken beräknas genom att dra ifrån den minsta tillåtna storleken för fönstret ( CPane::GetMinSize) från den aktuella storleken ( CWnd::GetWindowRect).
CPane::GetBorders
Returnerar bredden på fönstrets kantlinjer.
CRect GetBorders() const;
Returvärde
Ett CRect-objekt som innehåller den aktuella bredden, i bildpunkter, på varje sida av fönstret. Till exempel är värdet för left medlemmen i CRect objektet bredden på den vänstra kantlinjen.
Anmärkningar
Om du vill ange storleken på kantlinjerna anropar du CPane::SetBorders.
CPane::GetClientHotSpot
Returnerar den aktiva punkten för fönstret.
CPoint GetClientHotSpot() const;
Returvärde
Anmärkningar
Hot spot är den punkt i fönstret som användaren väljer och håller för att flytta fönstret. En frekvent punkt används för smidig animering när fönstret flyttas från en dockad position.
CPane::GetDockSiteRow
Returnerar dockningsraden ( CDockingPanesRow-klass) där fönstret är dockat.
CDockingPanesRow* GetDockSiteRow() const;
Returvärde
A CDockingPanesRow* som pekar på dockningsraden där fönstret är dockat eller NULL om fönstret inte är dockat.
CPane::GetExclusiveRowMode
Avgör om fönstret är i exklusivt radläge.
virtual BOOL GetExclusiveRowMode() const;
Returvärde
SANT om fönstret är i exklusivt radläge. annars FALSKT.
Anmärkningar
Mer information om exklusivt radläge finns i CPane::SetExclusiveRowMode.
CPane::GetHotSpot
Returnerar den frekventa punkt som lagras i ett underliggande CMFCDragFrameImpl objekt.
CPoint GetHotSpot() const;
Returvärde
Anmärkningar
Klassen CPane innehåller ett CMFCDragFrameImpl objekt, m_dragFrameImpl, som ansvarar för att rita rektangeln som visas när användaren flyttar ett fönster i standard dockningsläget. Den aktiva platsen används för att rita rektangeln i förhållande till den aktuella muspositionen när användaren flyttar fönstret.
CPane::GetMinSize
Hämtar den minsta tillåtna storleken för fönstret.
virtual void GetMinSize(CSize& size) const;
Parameterar
storlek
[ut] Ett CSize objekt som är fyllt med minsta tillåtna storlek.
Anmärkningar
CPane::GetPaneName
Hämtar rubriken för fönstret.
virtual void GetPaneName(CString& strName) const;
Parameterar
strName
[ut] Ett CString objekt som är fyllt med undertextnamnet.
Anmärkningar
Fönstrets rubrik visas i undertextområdet när fönstret är dockat eller flytande. Om fönstret är en del av en grupp med flikar visas rubriken i flikområdet. Om fönstret är i läget dölj automatiskt visas rubriken på en CMFCAutoHideButton.
CPane::GetVirtualRect
Hämtar den virtuella rektangeln i fönstret.
void GetVirtualRect(CRect& rectVirtual) const;
Parameterar
rectVirtual
[ut] Ett CRect objekt som är fyllt med den virtuella rektangeln.
Anmärkningar
När ett fönster flyttas lagrar ramverket den ursprungliga positionen för fönstret i en virtuell rektangel. Ramverket kan använda den virtuella rektangeln för att återställa den ursprungliga positionen för fönstret.
Anropa inte metoder som är relaterade till virtuella rektanglar om du inte flyttar fönster programmatiskt.
CPane::IsChangeState
När fönstret flyttas analyserar den här metoden sin position i förhållande till andra fönster, dockningsrader och miniramfönster och returnerar lämpligt AFX_CS_STATUS värde.
virtual AFX_CS_STATUS IsChangeState(
int nOffset,
CBasePane** ppTargetBar) const;
Parameterar
nOffset
[i] Anger dockningskänslighet. Till exempel dockas ett fönster som flyttas inom nOffset-bildpunkter från en dockningsrad.
ppTargetBar
[i] När metoden returnerar innehåller ppTargetBar antingen en pekare till det objekt som det aktuella fönstret ska dockas till eller NULL om ingen dockning ska ske.
Returvärde
Något av följande AFX_CS_STATUS värden:
| Värde | Beskrivning |
|---|---|
| CS_NOTHING | Fönstret är inte nära en dockningsplats. Ramverket dockar inte fönstret. |
| CS_DOCK_IMMEDIATELY | Fönstret är över en dockningswebbplats och formatmallen DT_IMMEDIATE är aktiverad. Ramverket dockar fönstret omedelbart. |
| CS_DELAY_DOCK | Fönstret är över en dockningsplats som antingen är ett annat dockningsfönster eller en kant av huvudramen. Ramverket dockar fönstret när användaren släpper flytten. |
| CS_DELAY_DOCK_TO_TAB | Fönstret är över en dockningswebbplats som gör att fönstret dockas i ett fönster med flikar. Detta inträffar när fönstret antingen är över bildtexten i ett annat dockningsfönster eller över flikområdet i ett fönster med flikar. Ramverket dockar fönstret när användaren släpper flytten. |
CPane::IsDragMode
Anger om fönstret flyttas.
virtual BOOL IsDragMode() const;
Returvärde
SANT om fönstret flyttas; annars FALSKT.
Anmärkningar
CPane::IsInFloatingMultiPaneFrameWnd
Anger om fönstret finns i ett ramfönster med flera fönster ( CMultiPaneFrameWnd-klass).
virtual BOOL IsInFloatingMultiPaneFrameWnd() const;
Returvärde
SANT om fönstret finns i ett ramfönster med flera fönster. annars FALSKT.
Anmärkningar
Endast dockbara fönster kan flyta i ett ramfönster med flera fönster. Därför CPane::IsInFloatingMultiPaneFrameWnd returnerar alltid FALSE.
CPane::IsLeftOf
Avgör om fönstret är kvar av (eller ovan) den angivna rektangeln.
bool IsLeftOf(
CRect rect,
bool bWindowRect = true) const;
Parameterar
rekt
[i] Ett CRect objekt som används för jämförelse.
bWindowRect
[i] Om TRUE antas rect innehålla skärmkoordinater. om FALSE antas rect innehålla klientkoordinater.
Returvärde
Anmärkningar
Om fönstret dockas vågrätt kontrollerar den här metoden om dess plats är kvar av rekt. Annars kontrollerar den här metoden om platsen är ovanför rect.
CPane::IsResizable
Anger om fönstret kan ändras.
virtual BOOL IsResizable() const;
Returvärde
SANT om fönstret kan ändras. annars FALSKT.
Anmärkningar
Basobjekt CPane kan inte ändras.
Dockningshanteraren använder den storleksbara flaggan för att fastställa fönsterlayouten. Icke-storleksbara fönster finns alltid i den överordnade ramens yttre kanter.
Icke-storleksbara fönster kan inte finnas i dockningscontainrar.
CPane::IsTabbed
Avgör om fönstret har infogats i tabbkontrollen i ett fönster med flikar.
virtual BOOL IsTabbed() const;
Returvärde
SANT om fönstret är tabbed; annars FALSKT.
Anmärkningar
Tabbed-tillståndet behandlas separat från de flytande, dockade och automatiskt döljande tillstånden.
CPane::LoadState
Läser in tillståndet för fönstret från registret.
virtual BOOL LoadState(
LPCTSTR lpszProfileName = NULL,
int nIndex = -1,
UINT uiID = (UINT) -1);
Parameterar
lpszProfileName
[i] Profilnamn.
nIndex
[i] Profilindex.
uiID
[i] Fönster-ID.
Returvärde
SANT om fönstrets tillstånd har lästs in. annars FALSKT.
Anmärkningar
Ramverket anropar den här metoden för att läsa in fönstrets tillstånd från registret. Åsidosätt den i en härledd klass för att läsa in ytterligare information som sparas av CPane::SaveState.
När du åsidosätter den här metoden anropar du även basmetoden och returnerar FALSE om basmetoden returnerar FALSE.
CPane::m_bHandleMinSize
Möjliggör konsekvent hantering av minsta fönsterstorlekar.
AFX_IMPORT_DATA static BOOL m_bHandleMinSize;
Anmärkningar
Om ett eller flera dockningsfönster i programmet åsidosätter GetMinSize, eller om programmet anropar SetMinSize, kanske du vill ställa in den här statiska medlemmen på TRUE för att ramverket ska kunna hantera hur fönsterrutorna är storleksanpassade.
Om det här värdet är inställt på TRUE klipps alla fönster vars storlek ska minskas under minsta storlek, inte sträckas ut. Eftersom ramverket använder fönsterregioner för fönsterstorleksändamål ändrar du inte storleken på fönsterregionen för dockningsfönster om det här värdet är inställt på TRUE.
CPane::m_recentDockInfo
Innehåller den senaste dockningsinformationen.
CRecentDockSiteInfo m_recentDockInfo;
Anmärkningar
Ramverket lagrar den senaste dockningstillståndsinformationen för fönstret i den här medlemmen.
CPane::MoveByAlignment
Flyttar fönstret och den virtuella rektangeln med den angivna mängden.
BOOL MoveByAlignment(
DWORD dwAlignment,
int nOffset);
Parameterar
dwAlignment
[i] Anger justering av fönster.
nOffset
[i] Mängden, i bildpunkter, med vilken fönstret och den virtuella rektangeln ska flyttas.
Returvärde
Anmärkningar
dwAlignment kan vara något av följande värden:
| Värde | Beskrivning |
|---|---|
| CBRS_ALIGN_TOP | Gör att fönstret kan dockas överst i klientområdet i ett ramfönster. |
| CBRS_ALIGN_BOTTOM | Gör att fönstret kan dockas längst ned i klientområdet i ett ramfönster. |
| CBRS_ALIGN_LEFT | Gör att fönstret kan dockas till vänster i klientområdet i ett ramfönster. |
| CBRS_ALIGN_RIGHT | Gör att fönstret kan dockas till höger i klientområdet i ett ramfönster. |
| CBRS_ALIGN_ANY | Gör att fönstret kan dockas till valfri sida av klientområdet i ett ramfönster. |
Om dwAlignment innehåller flaggan CBRS_ALIGN_LEFT eller CBRS_ALIGN_RIGHT flyttas fönstret och den virtuella rektangeln vågrätt. Annars flyttas fönstret och den virtuella rektangeln lodrätt om dwAlignment innehåller flaggan CBRS_ALIGN_TOP eller CBRS_ALIGN_BOTTOM.
CPane::MovePane
Flyttar fönstret till den angivna rektangeln.
virtual CSize MovePane(
CRect rectNew,
BOOL bForceMove,
HDWP& hdwp);
Parameterar
rectNy
[i] Anger den nya rektangeln för fönstret.
bForceMove
[i] Om SANT ignoreras den minsta tillåtna fönsterstorleken ( CPane::GetMinSize); Annars justeras fönstret, om det behövs, för att säkerställa att det är minst den minsta tillåtna storleken.
hdwp
[i] Används inte.
Returvärde
Ett CSize objekt som innehåller skillnaderna i bredd och höjd mellan de nya och gamla rektanglarna (gammal rektangel – rektNy).
Anmärkningar
Den här metoden används endast för dockningsbara fönster.
CPane::OnAfterChangeParent
Anropas av ramverket när den överordnade delen av ett fönster har ändrats.
virtual void OnAfterChangeParent(CWnd* pWndOldParent);
Parameterar
pWndOldParent
[in, ut] Fönstrets tidigare överordnade fönster.
Anmärkningar
Den här metoden anropas av ramverket när överordnad i ett fönster har ändrats på grund av en docknings- eller flytande åtgärd.
CPane::OnAfterDock
Anropas av ramverket när ett fönster har dockats.
virtual void OnAfterDock(
CBasePane* pBar,
LPCRECT lpRect,
AFX_DOCK_METHOD dockMethod);
Parameterar
pBar
[i] Den här parametern används inte.
lpRect
[i] Den här parametern används inte.
dockMethod
[i] Den här parametern används inte.
CPane::OnAfterFloat
Anropas av ramverket när ett fönster har svävat.
virtual void OnAfterFloat();
Anmärkningar
Du kan åsidosätta den här metoden i en härledd klass om du vill utföra någon bearbetning efter att ett fönster har svävat.
CPane::OnBeforeChangeParent
Anropas av ramverket när det överordnade fönstret håller på att ändras.
virtual void OnBeforeChangeParent(
CWnd* pWndNewParent,
BOOL bDelay = FALSE);
Parameterar
pWndNewParent
[in, ut] Anger det nya överordnade fönstret.
bDelay
[i] TRUE för att fördröja justeringen av den globala dockningslayouten. annars FALSKT.
Anmärkningar
Den här metoden anropas av ramverket när det överordnade fönstret håller på att ändras eftersom fönstret dockas eller flyttas.
Som standard avregistreras fönstret med dockningsfönstret genom att anropa CDockSite::RemovePane.
CPane::OnBeforeDock
Anropas av ramverket när fönstret är på väg att docka.
virtual BOOL OnBeforeDock(
CBasePane** ppDockBar,
LPCRECT lpRect,
AFX_DOCK_METHOD dockMethod);
Parameterar
ppDockBar
[in, ut] Anger fönstret som det här fönstret dockar till.
lpRect
[i] Anger dockningsrektangeln.
dockMethod
[i] Anger dockningsmetoden.
Returvärde
SANT om fönstret kan dockas. Om funktionen returnerar FALSE avbryts dockningsåtgärden.
Anmärkningar
Den här metoden anropas av ramverket när ett fönster håller på att dockas. Du kan åsidosätta den här metoden i en härledd klass om du vill utföra någon bearbetning innan ett fönster slutligen dockas.
CPane::OnBeforeFloat
Anropas av ramverket när ett fönster håller på att flyta.
virtual BOOL OnBeforeFloat(
CRect& rectFloat,
AFX_DOCK_METHOD dockMethod);
Parameterar
rectFloat
[i] Anger fönstrets position och storlek när det är i flytande tillstånd.
dockMethod
[i] Anger dockningsmetoden i fönstret.
Returvärde
SANT om fönstret kan flyta; annars FALSKT.
Anmärkningar
Den här metoden anropas av ramverket när ett fönster håller på att flyta. Du kan åsidosätta den här metoden i en härledd klass om du vill utföra någon bearbetning innan fönstret äntligen flyter.
CPane::OnPressCloseButton
Anropas av ramverket när användaren trycker på knappen Stäng i bildtexten för fönstret.
virtual void OnPressCloseButton();
Anmärkningar
Den här metoden anropas av ramverket när en användare trycker på knappen Stäng i fönstrets bildtext. Om du vill ta emot meddelanden om händelsen Stäng kan du åsidosätta den här metoden i en härledd klass.
CPane::OnShowControlBarMenu
Anropas av ramverket när en särskild fönstermeny är på väg att visas.
virtual BOOL OnShowControlBarMenu(CPoint point);
Parameterar
punkt
[i] Anger menyplatsen.
Returvärde
SANT om menyn kan visas; annars FALSKT.
Anmärkningar
Menyn innehåller flera objekt som gör att du kan ange fönstrets beteende, nämligen : Flytande, Dockning, AutoHide och Dölj. Du kan aktivera den här menyn för alla fönster genom att anropa CDockingManager::EnableDockSiteMenu.
CPane::RecalcLayout
Beräknar om layoutinformation för fönstret.
virtual void RecalcLayout();
Anmärkningar
Om fönstret är dockat uppdaterar den här metoden den virtuella rektangeln för fönstret genom att ange dess storlek till den aktuella storleken på fönstret.
Om fönstret är flytande meddelar den här metoden den överordnade miniramen för att justera storleken på fönstret till storleken på miniramen. Ramverket säkerställer att miniramen är minst den minsta tillåtna storleken för fönstret ( CPane::GetMinSize) och ändrar storlek på miniramen om det behövs.
CPane::SaveState
Sparar fönstrets tillstånd i registret.
virtual BOOL SaveState(
LPCTSTR lpszProfileName = NULL,
int nIndex = -1,
UINT uiID = (UINT) -1);
Parameterar
lpszProfileName
[i] Profilnamn.
nIndex
[i] Profilindex.
uiID
[i] Fönster-ID.
Returvärde
SANT om tillståndet har sparats. annars FALSKT.
Anmärkningar
Ramverket anropar den här metoden när den sparar fönstrets tillstånd i registret. Åsidosätt SaveState i en härledd klass för att lagra ytterligare information.
När du åsidosätter den här metoden anropar du även basmetoden och returnerar FALSE om basmetoden returnerar FALSE.
CPane::SetActiveInGroup
Flaggar ett fönster som aktivt.
virtual void SetActiveInGroup(BOOL bActive);
Parameterar
bActive
[i] En BOOL som anger om fönstret flaggas som aktivt.
Anmärkningar
När ett dockningsbart fönster visas eller en knapp för automatisk döljning väljs markeras motsvarande fönster för automatisk döljning som aktiv.
Utseendet på en automatisk dölj-knapp som är associerad med fönstret baseras på två faktorer. Om fönstret är aktivt och static BOOL CMFCAutoHideButton::m_bOverlappingTabs är TRUE visar ramverket knappen dölj automatiskt som en ikon och en etikett. För ett inaktivt fönster visar ramverket endast ikonen dölj automatiskt.
Om CMFCAutoHideButton::m_bOverlappingTabs är FALSE, eller om fönstret inte finns i en grupp, visar ramverket den associerade knappen dölj automatiskt som en ikon och en etikett.
CPane::SetBorders
Anger kantlinjevärdena för fönstret.
void SetBorders(
int cxLeft = 0,
int cyTop = 0,
int cxRight = 0,
int cyBottom = 0);
void SetBorders(LPCRECT lpRect);
Parameterar
cxLeft
[i] Anger bredden, i bildpunkter, på fönstrets vänstra kantlinje.
cyTop
[i] Anger bredden, i bildpunkter, på fönstrets övre kantlinje.
cxRight
[i] Anger bredden, i bildpunkter, på rutans högra kantlinje.
cyBottom
[i] Anger bredden, i bildpunkter, på fönstrets nedre kantlinje.
lpRect
[i] Ett CRect-objekt som innehåller bredden i bildpunkter för varje kantlinje i fönstret.
Anmärkningar
Anropa den här funktionen för att ange storleken på fönstrets kantlinjer.
CPane::SetClientHotSpot
Anger den aktiva platsen för fönstret.
void SetClientHotSpot(const CPoint& ptNew);
Parameterar
ptNew
[i] Ett CPoint objekt som anger den nya frekventa platsen.
Anmärkningar
Hot spot är den punkt i fönstret som användaren väljer och håller för att flytta fönstret. En frekvent punkt används för smidig animering när fönstret dras från en dockad position.
CPane::SetDockState
Återställer dockningstillståndsinformation för fönstret.
virtual void SetDockState(CDockingManager* pDockManager);
Parameterar
pDockManager
[i] Pekare till dockningshanteraren för huvudramsfönstret.
Anmärkningar
Den här metoden anropas av ramverket för att återställa den senaste dockningstillståndsinformationen för fönstret. I ett fönster lagras den senaste dockningstillståndsinformationen i CPane::m_recentDockInfo. Mer information finns i CRecentDockSiteInfo-klassen.
Du kan också anropa den här metoden för att ange dockningstillståndet när du läser in fönsterinformation från en extern källa.
CPane::SetExclusiveRowMode
Aktiverar eller inaktiverar det exklusiva radläget.
virtual void SetExclusiveRowMode(BOOL bExclusive = TRUE);
Parameterar
bExclusive
[i] TRUE för att aktivera exklusivt radläge; annars FALSKT.
Anmärkningar
Anropa den här metoden för att aktivera eller inaktivera exklusivt radläge. När ett fönster är i exklusivt radläge kan den inte dela samma rad med andra verktygsfält.
Som standard har alla verktygsfält exklusivt radläge inaktiverat och menyraden har exklusivt radläge aktiverat.
CPane::SetMinSize
Anger den minsta tillåtna storleken för fönstret.
void SetMinSize(const CSize& size);
Parameterar
storlek
[i] Ett CSize objekt som innehåller den minsta tillåtna storleken för fönstret.
Anmärkningar
CPane::SetVirtualRect
Anger den virtuella rektangeln i fönstret.
void SetVirtualRect(
const CRect& rect,
BOOL bMapToParent = TRUE);
Parameterar
rekt
[i] Ett CRect objekt som anger den virtuella rektangel som ska anges.
bMapToParent
[i] Ange TRUE om rect innehåller punkter i förhållande till det överordnade fönstret.
Anmärkningar
En virtuell rektangel lagrar den ursprungliga positionen för ett fönster när den flyttas. Ramverket kan använda den virtuella rektangeln för att återställa den ursprungliga positionen.
Anropa inte metoder som är relaterade till virtuella rektanglar om du inte flyttar fönster programmatiskt.
CPane::SetMiniFrameRTC
Anger körningsklassinformationen för standardfönstret för miniram.
void SetMiniFrameRTC(CRuntimeClass* pClass);
Parameterar
pClass
[in, ut] Anger körningsklassinformationen för miniramsfönstret.
Anmärkningar
När en ruta flyttas placeras den i ett CPaneFrameWnd-fönster (miniram). Du kan ange en anpassad CPaneFrameWnd-härledd klass som ska användas när CPane::CreateDefaultMiniframe anropas.
CPane::StretchPaneDeferWndPos
Sträcker ut fönstret lodrätt eller vågrätt baserat på dockningsformat.
virtual int StretchPaneDeferWndPos(
int nStretchSize,
HDWP& hdwp);
Parameterar
nStretchSize
[i] Mängden, i bildpunkter, för att sträcka ut fönstret. Använd ett negativt värde för att krympa fönstret.
hdwp
[i] Används inte.
Returvärde
Den faktiska mängden, i bildpunkter, som fönstret var utsträckt.
Anmärkningar
Om det behövs ändrar den här metoden nStretchSize för att säkerställa att fönstret inte överskrider storleksgränserna. Dessa gränser erhålls genom att anropa CPane::GetAvailableStretchSize och CPane::GetAvailableExpandSize.
CPane::ToggleAutoHide
Växlar automatiskt döljläge.
virtual void ToggleAutoHide();
Anmärkningar
Anropa den här metoden för att växla automatiskt dölj läge. Ett fönster måste dockas till ett huvudramfönster för att kunna växla till läget dölj automatiskt.
CPane::UndockPane
Tar bort fönstret från dockningsplatsen, standardreglaget eller miniramsfönstret där det för närvarande är dockat.
virtual void UndockPane(BOOL bDelay = FALSE);
Parameterar
bDelay
[i] Om det är FALSKT anropar ramverket CBasePane::AdjustDockingLayout för att justera dockningslayouten.
Anmärkningar
Använd den här metoden för att programmatiskt koppla bort ett fönster.
CPane::UpdateVirtualRect
Uppdaterar den virtuella rektangeln.
void UpdateVirtualRect();
void UpdateVirtualRect(CPoint ptOffset);
void UpdateVirtualRect(CSize sizeNew);
Parameterar
ptOffset
[i] Ett CPoint objekt som anger en förskjutning som fönstret ska flyttas med.
sizeNew
[i] Ett CSize objekt som anger en ny storlek för fönstret.
Anmärkningar
Den första överlagringen anger den virtuella rektangeln med hjälp av fönstrets aktuella position och storlek.
Den andra överlagringen förskjuter den virtuella rektangeln med den mängd som anges av ptOffset.
Den tredje överlagringen anger den virtuella rektangeln med hjälp av fönstrets aktuella position och den storlek som anges med storlekNy.