我创建了一个包含对话框资源的DLL工程Dlg,在工程中新建了一个对话框类CMyDlg,MyDlg.h文件如下:#if !defined(AFX_MYDLG_H__CDEB836A_F858_4D04_AF68_7AFCA42E3201__INCLUDED_)
#define AFX_MYDLG_H__CDEB836A_F858_4D04_AF68_7AFCA42E3201__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "resource.h"
// MyDlg.h : header file
///////////////////////////////////////////////////////////////////////////////
// CMyDlg dialogclass  CMyDlg : public CDialog
{
// Construction
public:
CMyDlg(CWnd* pParent = NULL);   // standard constructor// Dialog Data
//{{AFX_DATA(CMyDlg)
enum { IDD = IDD_DIALOG1 };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMyDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
//}}AFX_VIRTUAL// Implementation
protected: // Generated message map functions
//{{AFX_MSG(CMyDlg)
virtual BOOL OnInitDialog();
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
afx_msg void OnCancelMode();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
HBRUSH m_hBrush;
};//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_MYDLG_H__CDEB836A_F858_4D04_AF68_7AFCA42E3201__INCLUDED_)
然后在Dlg.cpp中添加了一个全局函数,如下:
extern "C" __declspec(dllexport) void Show()
{
AFX_MANAGE_STATE(AfxGetModuleState());
CMyDlg dlg;
dlg.DoModal();
}然后在Dlg.def 的 EXPORTS 字段中加入,Show
我在测试程序中有了DLG.DLL和DLG.LIB,可是就是不能隐式导入!
请大虾指教,小弟是初学。