Show the Find and Replace Dialogs

Tuesday Nov 19th 2002 by Sam Huggill
Share:

Show the find and replace dialogs

This HowTo uses calls to the ComDlg32.dll file to load the dialogs. This DLL also contains functions for the Open, Save, Print and Colour dialogs which can be found in a different How-To. We also use the FINDREPLACE type structure to hold the different parameters needed to show the dialogs. Apart from that, it is pretty straight forward.

Add a new form. Add two command buttons, cmdFind and cmdReplace. Copy the following code into the form:

Option Explicit
'Find/Replace Type Structure
Private Type FINDREPLACE
  lStructSize As Long
  hwndOwner As Long
  hInstance As Long
  flags As Long
  lpstrFindWhat As String
  lpstrReplaceWith As String
  wFindWhatLen As Integer
  wReplaceWithLen As Integer
  lCustData As Long
  lpfnHook As Long
  lpTemplateName As String
End Type

'Common Dialog DLL Calls
Private Declare Function FindText _
  Lib "comdlg32.dll" _
  Alias "FindTextA" (pFindreplace As FINDREPLACE) _
  As Long
Private Declare Function ReplaceText _
  Lib "comdlg32.dll" _
  Alias "ReplaceTextA" (pFindreplace As FINDREPLACE) _
  As Long

'Delcaration of the type structure
Dim frText As FINDREPLACE

Private Sub cmdFind_Click()
'Call the find text function
FindText frText
End Sub

Private Sub cmdReplace_Click()
'Call the replace text function
ReplaceText frText
End Sub

Private Sub Form_Load()
'Set the Find/Replace Type properties
With frText
  .lpstrReplaceWith = "Replace Text"
  .lpstrFindWhat = "Find Text"
  .wFindWhatLen = 9
  .wReplaceWithLen = 12
  .hInstance = App.hInstance
  .hwndOwner = Me.hWnd
  .lStructSize = LenB(frText)
End With
End Sub
Share:
Home
Mobile Site | Full Site
Copyright 2017 © QuinStreet Inc. All Rights Reserved