想做个dll,其中封装一个下载文件的功能,而且下载时有个进度条,但是不想要对话框,请问如何处理???

解决方案 »

  1.   

    进度条 需要一个容器来装, 笨办法,将对话框的标题栏什么的属性都去掉.
    或者你从CWnd自己写个窗体来装 进度条
      

  2.   

    把对话框标题,titlebar等都去掉。
      

  3.   

    进度条想要显示在哪里的?
    如果是只要显示进度条只要把对话框设置成无标题无边框就可以了另外在dll中导出对话框需要在包含DllMain的cpp文件中添加
    HMODULE GetDllModule();static AFX_EXTENSION_MODULE PaletteDLL = {NULL,NULL};//这样就够了,MFC又不知耍了什么把戏
    HMODULE GetDllModule()
    {
     return PaletteDLL.hModule;
    }在要导出的对话框构造函数中更改资源搜索顺序
    extern HMODULE GetDllModule();//
    CDlgTst::CDlgTst()
    {
      m_hOldInst = AfxGetResourceHandle();//保存
      AfxSetResourceHandle(GetDllModule());
    }
    //Destroy 时
    CDlgTst::~CDlgTst()
    {
      AfxSetResourceHandle(m_hOldInst);
    }其实目的只是在调用CDialog::DoModal()或者Create(...)时改变资源搜索位置而已。并不一定要放在构和析构里面。但要注意保存恢复成原来得值如果使用COM的话,就不能使用普通得CDialog,应该使用ATL Object里面得Dialog
      

  4.   

    是想将http://www.vckbase.com/code/findcode.asp中的
    直接用socket实现HTTP协议(下载专用),将这个文件封装成dll,并在里面加进度条。但是进度条要有容器,不知道怎么修改好.....
      

  5.   

    http://www.vckbase.com/code/findcode.asp
    打不开这个。
    把你下载的文件地址贴上来吧?
      

  6.   

    http://www.vckbase.com/code/downcode.asp?id=2432不好意思,是这个。
      

  7.   

    我建议你还是不要把界面封装到这个dll里面去。换种思路去实现。那个http dll本身已经封装得很好了,功能就是功能,为什么要往功能里面添加界面呢?
      

  8.   

    要其它语言可以调用,需要是正则DLL,要自己去导出函数,找函数地址运行,政则DLL怎么封装界面我就不清楚了。或者你可以使用COM,即可以满足不同语言调用,也可以自己显示进度条。