CPaneDialog Class

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at CPaneDialog Class.

The CPaneDialog class supports a modeless, dockable dialog box.

Syntax

class CPaneDialog : public CDockablePane  

Members

Public Constructors

Name Description
CPaneDialog::CPaneDialog Default constructor.
CPaneDialog::~CPaneDialog Destructor.

Public Methods

Name Description
CPaneDialog::Create Creates a dockable dialog box and attaches it to a CPaneDialog object.
CPaneDialog::CreateObject Used by the framework to create a dynamic instance of this class type.
CPaneDialog::GetThisClass Used by the framework to obtain a pointer to the CRuntimeClass object that is associated with this class type.
CPaneDialog::HandleInitDialog Handles the WM_INITDIALOG message. (Redefines CBasePane::HandleInitDialog.)
CPaneDialog::OnEraseBkgnd Handles the WM_ERASEBKGND message. (Redefines CWnd::OnEraseBkgnd.)
CPaneDialog::OnLButtonDblClk Handles the WM_LBUTTONDBLCLK message. (Redefines CWnd::OnLButtonDblClk.)
CPaneDialog::OnLButtonDown Handles the WM_LBUTTONDOWN message. (Redefines CWnd::OnLButtonDown.)
CPaneDialog::OnUpdateCmdUI Called by the framework to update the dialog box window. (Overrides CDockablePane::OnUpdateCmdUI.)
CPaneDialog::OnWindowPosChanging Handles the WM_WINDOWPOSCHANGING message. (Redefines CWnd::OnWindowPosChanging.)
CPaneDialog::SetOccDialogInfo Specifies the template for a dialog box that is an OLE control container.

Remarks

Construct a CPaneDialog object in two steps. First, construct the object in your code. Second, call CPaneDialog::Create. You must specify a valid resource template name or template ID and pass a pointer to the parent window. Otherwise, the creation process fails. The dialog box must specify the WS_CHILD and WS_VISIBLE style. We recommend that you also specify the WS_CLIPCHILDREN and WS_CLIPSIBLINGS styles. For more information, see [Window Styles]--brokenlink--(../Topic/not%20found.md#window_styles).

Inheritance Hierarchy

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

CPaneDialog

Requirements

Header: afxpanedialog.h

CPaneDialog::Create

Creates a docking dialog box and attaches it to a CPaneDialog object.

BOOL Create(
    LPCTSTR lpszWindowName,  
    CWnd* pParentWnd,  
    BOOL bHasGripper,  
    LPCTSTR lpszTemplateName,  
    UINT nStyle,  
    UINT nID,  
    DWORD dwTabbedStyle= AFX_CBRS_REGULAR_TABS,  
    DWORD dwControlBarStyle=AFX_DEFAULT_DOCKING_PANE_STYLE);

 
BOOL Create(
    LPCTSTR lpszWindowName,  
    CWnd* pParentWnd,  
    BOOL bHasGripper,  
    UINT nIDTemplate,  
    UINT nStyle,  
    UINT nID);

 
BOOL Create(
    CWnd* pParentWnd,  
    LPCTSTR lpszTemplateName,  
    UINT nStyle,  
    UINT nID);

 
BOOL Create(
    CWnd* pParentWnd,  
    UINT nIDTemplate,  
    UINT nStyle,  
    UINT nID);

Parameters

[in] lpszWindowName
The name of the docking dialog box.

[in] pParentWnd
Points to the parent window.

[in] bHasGripper
TRUE to create the docking dialog box with a caption (gripper); otherwise, FALSE.

[in] lpszTemplateName
The name of the resource dialog template.

[in] nStyle
The Windows style.

[in] nID
The control ID.

[in] nIDTemplate
The resource ID of the dialog template.

[in] dwTabbedStyle
The style of the tabbed window that results when the user drags another control pane onto the caption of this control pane. The default value is AFX_CBRS_REGULAR_TABS. For more information, see the Remarks section of the CBasePane::CreateEx method.

[in] dwControlBarStyle
Additional style attributes. The default value is AFX_DEFAULT_DOCKING_PANE_STYLE. For more information, see the Remarks section of the CBasePane::CreateEx method.

Return Value

TRUE if this method succeeds; otherwise, FALSE.

Remarks

Example

The following example demonstrates how to use the Create method in the CPaneDialog class. This example is part of the Set Pane Size sample.

 CPaneDialog     m_wndDlgBar;
  // The this pointer points to a CMainFrame class which extends the CFrameWnd class.
    if (!m_wndDlgBar.Create (_T("DialogBar"), this, TRUE, 
                             MAKEINTRESOURCE (IDD_DLG_BAR), 
                             WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI, 
                             ID_VIEW_DLGBAR))
    {
        TRACE0("Failed to create Dialog Bar\n");
        return FALSE;      // fail to create
    }

CPaneDialog::HandleInitDialog

Handles the WM_INITDIALOG message.

afx_msg LRESULT HandleInitDialog(
    WPARAM wParam,  
    LPARAM lParam);

Parameters

[in] wParam
Handle to the control that is to receive the default keyboard focus.

[in] lParam
Specifies additional initialization data.

Return Value

TRUE if this method is successful; otherwise, FALSE. In addition, TRUE sets the keyboard focus to the control specified by the wParam parameter; FALSE prevents setting the default keyboard focus.

Remarks

The framework uses this method to initialize controls and the appearance of a dialog box. The framework calls this method before it displays the dialog box.

CPaneDialog::SetOccDialogInfo

Specifies the template for a dialog box that is an OLE control container.

virtual BOOL SetOccDialogInfo(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);

Parameters

[in] pOccDialogInfo
Pointer to a dialog box template that is used to create the dialog box object. The value of this parameter is subsequently passed into the COccManager::CreateDlgControls method.

Return Value

Always TRUE.

Remarks

This method supports the COccManager class, which manages OLE control sites and ActiveX controls. The _AFX_OCC_DIALOG_INFO structure is defined in the afxocc.h header file.

See Also

Hierarchy Chart
Classes
CDockablePane Class
Window Styles