Dela via


CPane-klass

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

CObject

CCmdTarget

CWnd

CBasePane

CPane

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.

Se även

Hierarkidiagram
klasser
CBasePane-klass