[]怎么不用mfc向导,自己写一个基于对话框的MFC程序

[求助]如何不用mfc向导,自己写一个基于对话框的MFC程序。
有的书中介绍了如何不用向导建立一个主框架窗口(非SDI)的MFC程序,如何不用向导建立一个基于对话框的MFC程序呢?或者说我想知道自写MFC对话框程序的方法。
最好有代码参考,提供思路也可!
(如果问题解决,一定加分!)

------解决方案--------------------
加入头文件<afxwin.h>
从CDialog继承一个自己的对话框类,再从CWinApp类继承一个自己的应用程序类,在你的APP类创建并显示窗口就行了~~
------解决方案--------------------
既然你使用的是摸态对话框,必须给它一个对话框资源。
------解决方案--------------------
自己定义一个CDialog的子类,调用CDialog构造函数时给出对话框资源ID。程序中构造一个类的实例,用DoModal或者Create、ShowWindow加消息循环来显示。
代码可以参考VC自动生成的MFC项目。
------解决方案--------------------
以下代码测试OK

C/C++ code


#include  <afxwin.h> 
#include "resource.h"

class CLgyDlgWnd:public CDialog 
{ 
public:
    CLgyDlgWnd(CWnd* pParent = NULL);    // 标准构造函数
    enum { IDD = IDD_DIALOG1 };

protected: 
    BOOL OnInitDialog(); 
    afx_msg void OnPaint(); 
    afx_msg void OnLButtonDown(UINT nFlags,CPoint point);//定义鼠标右键点击消息处理函数 
    DECLARE_MESSAGE_MAP(); 
}; 

//消息映射表 
BEGIN_MESSAGE_MAP(CLgyDlgWnd,CDialog) 
    ON_WM_LBUTTONDOWN() 
    ON_WM_PAINT() 
END_MESSAGE_MAP() 


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

}

BOOL CLgyDlgWnd::OnInitDialog() 
{ 
    CDialog::OnInitDialog(); 
    return TRUE; 
} 
void CLgyDlgWnd::OnPaint() 
{ 
    CDialog::OnPaint(); 
} 

void CLgyDlgWnd::OnLButtonDown(UINT nFlags,CPoint point) 
{ 
    ::MessageBox(GetSafeHwnd(),"您刚才按下了鼠标左键!","提示信息",MB_OK |MB_ICONINFORMATION); 
} 


class CLgyDlgApp:public CWinApp 
{ 
public: 
    BOOL InitInstance(); 
}; 

BOOL CLgyDlgApp::InitInstance() 
{ 
    CLgyDlgWnd dlg; 
    m_pMainWnd=&dlg; 
    dlg.DoModal(); 
    return FALSE; 
} 

CLgyDlgApp LgyDlgApp;