我现在用单视图创建了一个工程
在里面添加了一个custom control
还没有注册
运行的时候会谈出创建空文档失败
删掉这个custom control就又恢复正常了
这个问题怎么解决另外还有一个问题
custom control,控件怎么注册?
好久以前自己做过,现在怎么也想不起来了
各位大虾给提个醒,说一个步骤

解决方案 »

  1.   

    注册用regsvr32 yourcontrol.ocx或者通过LoadLibrary和GetProcAddress调用yourcontrol.ocx的DllRegisterServer函数
      

  2.   

    首先自己决定控件的窗口类名,在控件属性中填写类名。程序中在使用控件之前用RegisterClassEx注册一个窗口类,类名要与控件属性中填写的一致,并定义一个窗口过程函数来处理控件的各种消息。
      

  3.   

    如果使用的是别人写的自定义控件,首先将其对应的.cpp和.h文件添加到工程中,然后在Custom控件属性中填写对应的自定义类的类名就可以了。
      

  4.   

    这个控件是别人的
    我已经加入到工程中
    并且在属性中填写了对应的类
    RegisterClassEx这个函数在什么地方用?
    为什么我在添加变量时没有相应的类来选择呢?还有那个创建空白文档失败的原因是什么?
      

  5.   


    你的App::InitIntance()有没有调用AfxEnableControlContainer();,如果没有在开始部分加上。
      

  6.   

    关联控件变量时,直接手动添加就可以了。
    (1)在头文件添加类似的代码:
    CColorDatePicker m_queryStartTime;//CColorDatePicker即是自定义控件类
    (2)用DDX_Control()函数将变量和控件关联起来:
    DDX_Control(pDX, IDC_DATETIMEPICKER_START, m_queryStartTime);
      

  7.   

    RegisterClassEx在使用控件之前调用,一般在应用程序初始化时调用。
    custom control貌似不能用VC添加关联变量。
    因为创建窗口时要创建窗口上的控件,而其中的某个控件类没有注册,导致创建失败,所以创建空文档失败。
    使用别人封装好的控件,应该根据其具体的封装方法来使用。如果该控件被封装为一个从CWnd派生的类,通常用法是定义一个类对象,在窗口初始化时调用Create函数来创建控件,不在对话框资源上使用custom control。
      

  8.   

    就是对话框上不放custom control,在程序中创建。
      

  9.   


    你说的应该是控件类,不是OCX控件吧.