win32 8.2 使用通用对话框

本文详细介绍了Windows API中的通用对话框,包括‘打开’和‘保存’文件对话框,以及字体、颜色、查找替换和页面设置对话框的使用。通过函数GetOpenFileName和GetSaveFileName获取文件名,ChooseFont选择字体,ChooseColor选取颜色,FindText和ReplaceText实现文本查找和替换,PageSetupDlg用于页面设置。每个对话框涉及的结构体、参数和标志字段在文中均有详细解释。
摘要由CSDN通过智能技术生成
  1. “打开”文件和“保存”文件对话框

    1. 显示 “打开” 对话框的函数是 GetOpenFileName,显示“保存”文件对话的函数是 GetSaveFileName ,这两个对话框可以让用户选择 驱动器、目录、以及一个文件名(打开对话框还允许选择多个文件),但这两个对话框并不对文件进行任何操作,也就是说,它们进给用户提供一个同一界面来“选择”文件名,获取文件名以后,对程序的打开、读写等操作还需要程序员自己解决。

    2. 这两个函数的用法:
      在这里插入图片描述
      lpofn 参数是一个指针,指向一个 OPENFILENMAE 结构,程序在调用函数前需要在结构中填写初始化数据,两个函数使用的结构是一样的,只是实用的初始化数据有些不同而已。

    3. lpofn 结构:

      在windows.inc 中结构定义如下:
      在这里插入图片描述
      结构中一些重要的字段说明:

      1. ipstrFile – 指向一个包含文件名的缓冲区。如果这个缓冲区中已经包含了一个文件名,那么对话框初始的时候将显示这个文件名。当用户选择了一个文件的时候,函数在这里返回新的文件名。
      2. nMaxfile – 指定 lpstrFIle 参数指向的缓冲区长度。
      3. lpstrFileTitle – 指向一个缓冲区,用来接收用户选择的不含路径的文件名。这个字段可以为NULL。
      4. nMaxFileTitle – 指明 lpstrFileTitle 参数指向的缓冲区长度。
      5. lpstrInitialDir – 对话框的初始化目录,这个字段可以为 NULL。
      6. lpstrTitle – 指向自定义的对话框标题,如果这个字段为NULL,那么“打开”对话框和“保存”对话框的默认标题是“打开”和“另存为”。
      7. nFileOffset – 返回文件名字符串中文件名的起始位置,如果用户选择了文件"c:\dir1\file.ext’,这里将返回8(因为 file.ext 中 f 在第8个位置)
      8. nFilExtension – 返回文件名字符串中扩展名的起始位置,同样的上面的字符串,这里返回13.如果文件名的最后一个字符串是“.”,这里返回0,表示文件没有拓展名,这个字段和 nFileOffset 字段为分析文件名提供了方便。
      9. lpstrDefExt – 指定默认拓展名,如果用户输入了一个没有拓展名的文件名,那么函数会自动加上这个默认拓展名。
      10. Flags字段 – 该标志字段决定了对话框的不同行为,它可以是一些取值的组合。下面是一些重要的标志:
        1. OFN_ALLOWMULTISELECT – 允许同时选择多个文件名。
        2. OFN_CREATEPROMPT – 如果用户输入了一个不存在的文件名,对话框向用户提问“是否建立文件”
        3. OFN_FILEMUSTEXIST – 用户只能选择一个已经存在的文件名,使用这个文件名的同时必须使用 OFN_PATHMUSTEXIST 标志。
        4. OFN_HIDEREADONLY – 对话框不显示“以只读方式打开”复选框。
        5. OFN_OVERWRITEPROMPT – 在“
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值