【发布时间】:2010-02-18 05:38:42
【问题描述】:
嗨,现在我在 2003 vc++ 中工作,我正在将我的项目转换(迁移)到 vc 2008 或新的 vc 2010 Beta,我看到了 2008、2010 的功能包关于 CDockable 窗格(Auto Hode,浮动),所以我需要这个功能,我想将一个对话框或对话框栏放入窗格(CDockable Pane 类),所以我在下面的代码中完成了这个
Myframe代码sn-p是:
if (!m_MyPane.Create(L"MyPane", this, CRect(0,0,0,0), true, IDD_DIALOG1, WS_CHILD|WS_VISIBLE))
return -1;
AddDockSite();
EnableDocking(CBRS_ALIGN_ANY);
EnableAutoHidePanes(CBRS_ALIGN_ANY);
m_MyPane.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_MyPane, AFX_IDW_DOCKBAR_RIGHT);
MyPane class Definition is :
#include "stdafx.h"
#include "Pane.h"
#include "Resource.h"
#include "MainFrm.h"
#include "soft1.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
CPane1::CPane1()
{
}
CPane1::~CPane1()
{
}
BEGIN_MESSAGE_MAP(CPane1, CDockablePane)
ON_WM_CREATE()
ON_WM_SIZE()
END_MESSAGE_MAP()
int CPane1::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDockablePane::OnCreate(lpCreateStruct) == -1)
return -1;
return 0;
}
void CPane1::OnSize(UINT nType, int cx, int cy)
{
CDockablePane::OnSize(nType, cx, cy);
}
当我构建它时不会显示任何错误并且在输出中没有错误地执行框架显示 mypane 但 mypane 没有显示 IDD_DIALOG1
所以我错过了什么,请纠正我的代码以及如何将 IDD_DIALOG1 对话框放入 mypane
请帮帮我
问候 G.巴拉吉
【问题讨论】:
标签: c++ visual-c++ mfc mfc-feature-pack