我希望读一个文件,大小譬如说50k吧。然后对其分析,产生一个新的文件。我希望通过dialog的进度控制条看观察读文件的进度,每512字节更新progress ctrl。那个怎么做呢?我的想法是再建一个类来处理这个文件。可那样的话dialog的progressCtrl怎么用呢?或者还是直接在dialog中处理呢,可那样就不能复用了文件处理了?

解决方案 »

  1.   

    可以在自定义类中发送消息通知更改progressCtrl的pos。
      

  2.   

    把我要处理的文件详细说明一下:该文件由若干子文件构成,我需要将子文件中的数据读出。前面0x100个字节是文件列表,每8个字节为一组,所以该文件最多包含32个子文件。每组八个字节中,前面4个字节是子文件的起始地址,后面4个字节为子文件的长度。后面的0x100----字节为各个子文件。
    子文件也包括头部和尾部,类似于intel的hex format,以行为单位,数据项如:000008222222FA, FA为checksum,头和尾有特殊的表示,:FF...各位大侠对这个文件处理会怎么做呢?用vc做工具,怎么写类
      

  3.   

    使用多线程,在处理文件的时候将对话框的指针传递进去,参考:
    void CDlg::Start()
    {
    m_hThread = (HANDLE)_beginthreadex(NULL,0, LoadThumbNail,(LPVOID)this,0/* CREATE_SUSPENDED*/,&m_dwThreadID); 
    m_bRunning = TRUE;
    }unsigned __stdcall CDlg::LoadThumbNail(LPVOID lpParam)
    {
    CDlg* pDlg = (CDlg*)lpParam;
    //然后使用这个对话框指针操作进度条变量,操作进度条
    }
      

  4.   

    差不多,传一个CProgressbar指针也可以啊,呵呵。