静态库中不能打开对话框吗?

//.h对话框头文件

class CGoodsObjectDlg : public CDialog
{
	DECLARE_DYNAMIC(CGoodsObjectDlg)

public:
	CGoodsObjectDlg(CWnd* pParent = NULL);   // 标准构造函数
	virtual ~CGoodsObjectDlg();

// 对话框数据
	enum { IDD = IDD_GoodsObjectDlg };

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

	DECLARE_MESSAGE_MAP()
};


//.cpp对话框源文件
// CGoodsObjectDlg 对话框

IMPLEMENT_DYNAMIC(CGoodsObjectDlg, CDialog)

CGoodsObjectDlg::CGoodsObjectDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CGoodsObjectDlg::IDD, pParent)
{
}

CGoodsObjectDlg::~CGoodsObjectDlg()
{
}

void CGoodsObjectDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(CGoodsObjectDlg, CDialog)
END_MESSAGE_MAP()


// CGoodsObjectDlg 消息处理程序

//用函数打开一个对话框
void ShowGoodsObjectGroupDlg(LPCTSTR title,CWnd* pParent)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());//这句有没有都打不开

	CGoodsObjectDlg dlg(pParent);
	dlg.DoModal();

}

调试之后发现,DoModal函数种和资源有关的函数都执行失败。

 

请问我什么地方没有搞对吗? 

你这函数肯定不行,对话框是封装过的,不是直接在Cwnd上的,应该在frame上。也就是说还是继续要用MFC的框架,在里面调用,如果你要拿出来在win32下用,那就要从头初始化。