建的MFC ActiveX ControlWizard工程
生成的是ocx格式文件
可是怎么看到有人说可以生成dll文件的
这个是怎么回事,
望指导……

解决方案 »

  1.   

    一样的,有的是OCX,有的是DLL,不影响使用。
      

  2.   

    选择win32项目中的动态链接库DLL工程,就可以生成DLL了
      

  3.   

    那要生成dll格式的ActiveX文件,工程要如何建呢
      

  4.   

    OCX和DLL不都是PE文件吗,没什么区别吧,应该直接改扩展名就行,ocx应该是自带控件注册的导出函数,dll应该是不带,其他应该都一样,没弄过,猜测。
      

  5.   

    属性 :链接 输出 .ocx /.dll 
      

  6.   

    新建工程的时候选择 ATL COM AppWizard
    第二步选择Server Type的时候用默认的选项Dynamic Link Library(DLL)
    这样生成的是COM工程
    比如你的工程名字是"ocx",在ClassView中,鼠标右键单击ocx classes,选择New ATL Object
    在弹出的ATL Object Wizard对话框左边Category中选择Controls,右边你需要生成的控件的类型
    比如你选择Full Control,然后Next>
    在弹出的属性对话框中填入你需要的内容,比如在Names选项中Short Name写入ocx1,
    如果需要建立连接点,还需要你在Attributes选项中选中Support Connection Points选项。
    其他的自己看吧,最后确定。
    ClassView中会出现Cocx1类,就是你要生成的控件的类,默认只有Cocx1()以及OnDraw(ATL_DRAWINFO &di)两个函数。
    如上编写的工程编译后生成ocx.dll文件生成一个基于对话框的工程,在Insert ActiveX Control对话框(别告诉我你不知道怎么弹出这个)中的控件列表中,会找到ocx1 Class,  ok;
    对话框中会看到你刚生成的控件,控件界面为黑边白色背景正方形,中间显示"ATL 3.0:ocx1":) 是不是你需要的? 
      

  7.   

    直接改不行的,除了DLL、OCX,还有EXE的控件呢。