GetOpenFileName函数功能是什么?最好能有个例子

问题内容:GetOpenFileName函数功能是什么?最好能有个例子.
  • 原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=723371
  • 所属论坛:基础类     审核组:VC/MFC
  • 提问者:muhuairu     解决者:
  • 感谢:acptvc
  • 关键字:VC/MFC 函数 基础类 http 参看 文件名 hwnd null handle getopenfilename openfilename ofn
  • 答案:

    GetOpenFileName函数功能是什么?最好能有个例子.
    --------------------------------------------------------------- GetOpenFileName函数的功能是创建一个“打开”对话框,让用户可以指定驱动器、目录以及一个或多个要打开的文件名。它的原型如下:
    BOOL GetOpenFileName(
      LPOPENFILENAME lpofn   // initialization data
    );

    其中参数lpofn是一个指向OPENFILENAME结构的指针,其中包含着初始化“打开”对话框时需要的信息,该函数返回时此结构体内包含了用户的选定信息。

    您可以参看下面的使用代码:

    OPENFILENAME ofn;       // common dialog box structure
    char szFile[260];       // buffer for file name
    HWND hwnd;              // owner window
    HANDLE hf;              // file handle

    // Initialize OPENFILENAME
    ZeroMemory(&ofn, sizeof(OPENFILENAME));
    ofn.lStructSize = sizeof(OPENFILENAME);
    ofn.hwndOwner = hwnd;
    ofn.lpstrFile = szFile;
    ofn.nMaxFile = sizeof(szFile);
    ofn.lpstrFilter = "All/0*.*/0Text/0*.TXT/0";
    ofn.nFilterIndex = 1;
    ofn.lpstrFileTitle = NULL;
    ofn.nMaxFileTitle = 0;
    ofn.lpstrInitialDir = NULL;
    ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

    // Display the Open dialog box. 

    if (GetOpenFileName(&ofn)==TRUE) 
        hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
            0, (LPSECURITY_ATTRIBUTES) NULL,
            OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
            (HANDLE) NULL);

    如果需要进一步的信息,您可以参看:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/CommCtls/winui/commdlg_3cbp.asp

    - 微软全球技术中心 VC技术支持

    本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。

    为了为您创建更好的讨论环境,请参加我们的用户满意度调查
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值