字体
第(4/5)页
关灯
   存书签 书架管理 返回目录

    POSITION GetStartPosition( ) const;

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·204·

    函数返回值用于枚举选择的文件。若为NULL,则说明选择列表为空。

    CFileDialog::GetNextPathNcom()函数用于获得下一个选择的文件名,其原型为:

    CString GetNextPathNcom(

    POSITION& pos

    ) const;

    ? 参数pos:指示前一个GetNexPathNcom()或GetStartPosition()函数设置的POSITION值。

    当GetNextPathNcom()调用返回时会修改该参数,如果值为NULL,则说明到达列表结

    尾。

    ? 函数返回值:获得下一个选择的文件路径名。

    于是可以得到下面的代码:

    //创建一个可以多选的文件对话框

    CFileDialog dlg(TRUE, NULL,NULL,OFN_ALLOWMULTISELECT);

    if (dlg.DoModal()==IDOK) //如果返回为确定,获得选择的文件名

    {

    POSITION pos;

    pos= dlg.GetStartPosition(); //开始遍历用户选择列表

    while (pos!=NULL) //如果列表中还有新的文件

    {

    CString filencom=GetNextPathNcom(pos); //获得新的被选定的文件

    ?? //对filencom 的文件进行处理

    }

    }

    8.3.2 重载文件对话框

    当用户需要文件对话框有更多的功能,则可以通过重载CFileDialog 类,并为文件对话框

    添加新的控件完成。

    本节中以一个重载文件对话框的例子介绍重载的步骤。该例为文件对话框添加一个“删

    除”按钮,用于删除文件对话框中选定的文件,如图8-4 所示。

    实现这个自定义的文件对话框主要分为下列3 个步骤:

    图8-4 “打开”对话框

    枫叶文学网www.fywxw.com

    第8 章 文件cāo作

    ·205·

    1.创建一个对话框模板

    首先向工程的资源文件中创建一个新的对话框模板,将ID 设为IDD_MYFILEDIALOG。

    然后设置模板风格属xìng如图8-5 所示。

    图8-5 设置对话框模板的风格属xìng

    然后向模板中添加“删除”按钮,ID 设置为IDC_DEL,并重新调整对话框的大小,如

    图8-6 所示。

    图8-6 为对话框模板添加控件

    注意,在图8-6 中可以看到,新添加包含“删除”按钮的对话框模板是放在文件对话框

    的底部。因此需要将对话框的模板设置为子窗口而且无边框,更重要的是要复选“Clip

    siblings”和“Clip children”两个属xìng,使得文件对话框的原始控件可以得到恰当
上一页 目录 下一页