网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> VB编程 >> 文章正文
  如何调用系統的【查找】、【替换】的对话框?            【字体:
如何调用系統的【查找】、【替换】的对话框?
作者:佚名    文章来源:不详    点击数:    更新时间:2007-8-16    
版本:VB6 / VB5 / VB4-32 在一般的文本编辑软件中,例如 Windows 本身提供的记事本及写字板中,我们都可以在【编辑】下拉菜单
中,找到【查找】、【替换】二项功能,我想很多人自己在编写程序时,也都会自己为程序去编写这二个相
当基本的功能。
正在装载数据……
其实根本不用您自己花时间去编写这样的程序代码!还记得 Microsoft Common Dialog Control (16 位控件是 Comdlg16.ocx,32 位控件是
Comdlg32.ocx) 吗?我们都知道,这个控件可以帮助我们做到以下几件事情:1、ShowOpen:打开文件对话框2、ShowSave:保存对话框3、ShowPrinter:打印设置对话框4、ShowFont:字体对话框5、ShowColor:颜色对话框6、ShowHelp:帮助对话框当然,您若还想要 Microsoft Common Dialog Control 多做一些別的事也没办法的!但是,
Microsoft 在提供 .ocx 控件的同时,还提供了另外一个控件文档,也就是 comdlg32.dll,
它的功能就多了,除了上面提到的几种对话框之外,还有好几个不同功能的对话框,其中就包含
【查找】、【替换】二项功能!这二个 API 分別是 FindText 及 ReplaceText 二个。在程序中,要声明这二个 API 之前,由于它们都会引用到一个名为 FINDREPLACE 的 Type,
所以我们在声明 Function 之前,必须先声明 Type FINDREPLACE,程序代码如下:在表单的声明区中加入以下声明:'Find/Replace Type StructurePrivate Type FINDREPLACElStructSize As Long ' size of this struct 0x20hwndOwner As Long ' handle to owner's windowhInstance As Long ' instance handle of.EXE that contains cust. dlg. templateflags As Long ' one or more of the FR_??lpstrFindWhat As String ' ptr. to search stringlpstrReplaceWith As String ' ptr. to replace stringwFindWhatLen As Integer ' size of find bufferwReplaceWithLen As Integer ' size of replace bufferlCustData As Long ' data passed to hook fn.lpfnHook As Long ' ptr. to hook fn. or NULLlpTemplateName As String ' custom template nameEnd Type'Common Dialog DLL CallsPrivate Declare Function FindText Lib "comdlg32.dll" Alias "FindTextA" _(pFindreplace As FINDREPLACE) As LongPrivate Declare Function ReplaceText Lib "comdlg32.dll" Alias "ReplaceTextA" _(pFindreplace As FINDREPLACE) As Long'Delcaration of the type structureDim frText As FINDREPLACE 在表单中加入二个 Command Button,并命名为 cmdFind, cmdReplace,加入以下程序代码:Private Sub cmdFind_Click()'Call the find text functionFindText frTextEnd SubPrivate Sub cmdReplace_Click()'Call the replace text functionReplaceText frTextEnd SubPrivate Sub Form_Load()'Set the Find/Replace Type propertiesWith frText.lpstrReplaceWith = "Replace Text".lpstrFindWhat = "Find Text".wFindWhatLen = 9.wReplaceWithLen = 12.hInstance = App.hInstance.hwndOwner = Me.hWnd.lStructSize = LenB(frText)End WithEnd Sub好了,您现在可以按 F5 试试了!注:在 Type FINDREPLACE 中有一个 flag,您可以代入的 flag 是 FR_??,您可以在 API 文件
查看器中找找!
 


本文来源:http://blog.csdn.net/zcsor/archive/2007/08/12/1739846.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     如何在ado中使用connect…
     vb 贪吃蛇 单人版游戏 (…
     关于在vb中进行com组件的…
     用vb6.0编写自我升级的程…
     vb自动登陆网络站点详解…
     vb打造超酷个性化菜单(…
  • 小记:C++操作符重载后的调用…

  • 函数调用约定

  • 初学者,你应当如何学习C++以…

  • 如何在C#中使用Win32和其他库…

  • VB6.0调用WebServices的简单…

  • 如何实现那种流行的平面按钮

  • 如何用VB实现Modbus串行通讯

  • delphi dll 调用技巧

  • Delphi如何从非主窗体启动

  • 如何取得LPT端口打印机支持的…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David