本人初学VC,遇见不少问题。
总是搞不清楚什么时候什么模块初始化成功,
自己的程序入口放哪里好。于是求一篇关于 CDlg 中的各个函数,及其函数功能和调用顺序的资料。
不论是链接或者跟帖,被采纳,就给分。

解决方案 »

  1.   

    函数功能看MSDN;窗口基于消息机制,消息除了个别是固定顺序出现的,其余不能考虑顺序。
    一般一个窗口类首先是构造函数,然后是WM_CREATE(OnCreate)消息,中间有多个WM_SIZE(OnSeize,注意这个会在窗口创建之前被调用一次),显示的时候有WM_PAINT消息,窗口退出有WM_DESTROY消息。等。
      

  2.   

    对于对话框,初始化窗口的时候还有WM_INITDIALOG消息,在窗口创建之后显示之前,一般初始化都放在这里。
      

  3.   

    Mackz大哥已经把大体脉络说清楚了,详细了解可以看侯俊杰的深入浅出MFC
      

  4.   

    恩,多谢楼上解答,
    “俊杰的深入浅出MFC”
    我这里正好有一本,不过之前看的那个头大呀,
    我把这个课题做了就好好再看下。我实际中遇见一个问题就是,
    我想在对话框初始化完成后,也就是“INITDIALOG”之后再自动运行一个功能,
    我把功能的起始点放那里比较好呢?
      

  5.   

    如果要在initdialog后运行,我建议你在initdialog中开个定时器,时间到了运行你要的函数。
      

  6.   

    最好研究一下Win32 SDK编程,从非MFC的Win32程序了解开始。你就知道为什么构造函数之后是WM_CREATE(OnCreate)消息了。
      

  7.   

    对话框类的初始化大体分三个步骤:
    1、构造函数,此时窗口窗口尚未创建,在这里对成员变量做初始化(构造类对象、赋初值、分配内存等);
    2、响应WM_CREATE消息,此时窗口和对话框资源上的控件已经创建,在这里添加代码自己创建其它子控件、做子类化操作;
    3、OnInitDialog函数,此时控件都已经创建好了,但窗口尚未显示,在这里对各个子控件做初始化。