| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> MFC 通用对话框之“查找/替换“对话框 -> 正文阅读 |
|
[C++知识库]MFC 通用对话框之“查找/替换“对话框 |
CFindReplaceDialog类封装了查找/替换对话框,使用CFindReplaceDialog类可以,可以轻松地在应用程序中实现标准的字符串查找/替换对话框 。不像其他通用对话框是模态对话框,查找/替换对话框是非模态对话框。CFindReplaceDialog对象有两种:查找对话框和查找/替换对话框。尽管对话框允许用户输入搜索和搜索/替换字符串,但它们不执行任何搜索或替换函数。 您必须将它们添加到应用程序中。 要构造一个CFindReplaceDialog对象,使用提供的构造函数(它没有参数)。 由于这是一个非模态对话框,所以使用new操作符在堆上分配对象,而不是在堆栈上。一旦CFindReplaceDialog对象被构造,你必须调用Create成员函数来创建和使用ShowWindow函数显示对话框。在调用Create之前可使用m_fr结构来初始化对话框。 m_fr结构的类型是FINDREPLACE。FINDREPLACE的原型如下:
为了让父窗口得到查找/替换请求的通知,必须使用WindowsRegisterWindowMessage函数,并在你的框架窗口中使用处理此注册消息的ON_REGISTERED_MESSAGE消息映射宏。?你可以从框架窗口的回调函数中调用CFindReplaceDialog类成员表的“操作”部分中列出的任何成员函数。CFindReplaceDialog类的成员如下: 下面以一个实例来演示,CFindReplaceDialog的用法。 示例(基于演示文件对话框所创建的单文档工程): 1. 在IDR_MAINFRAME 菜单文件中新建“FindReplaceTestTest”菜单,及子菜单“Find”、“Find & Replace”,如下: 2. 在视图类中添加一个CFindReplaceDialog指针变量pDlg,如下: 3. 为Find子菜单添加事件处理程序,如下:
4.?为Find & Replace子菜单添加事件处理程序,如下:
?5.在类视图头文件中注册一个Windows消息,代码如下:
6. 在类视图头文件中定义毁掉函数OnFindReplace(WPARAM wParm, LPARAM lParam),如下: 7. 在?类视图源文件(.app)中,添加消息映射宏,如下:ON_REGISTERED_MESSAGE(WM_FINDMESSAGE, OnFindReplace) 8.实现回调函数源代码,如下:?
9.按Ctrl+F5试运行,结果如下: ?10,点击FileDialogTest 菜单下的子菜单Font,设置字体,如下: ??11,点击FileDialogTest 菜单下的子菜单Single Line Text,完成一行文字输入,如下: ? ?11,点击FindReplaceTest?菜单下的子菜单Find ?打开Find对话框,输入EF,如下: ?点击“查找下一个”,结果如下: ?点击弹出信息框的确定后,输入:123,点击“查找下一个”,结果如下: ?12. 关闭查找对话框后,点击“Find & Replace”子菜单,打开替换对话框 ?在查找内容输入框中输入:D,在替换为输入框中输入:12345 ?点击替换,结果如下: ?需要注意的是,不要寄希望于“查找/替换对话框"替你完成查找于替换的代码,仅是提供一个对话框及发送FINDMSGSTRING注册消息而已。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:26:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |