REPLACE.C
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /************************************************************************
  2.   File: replace.c
  3.   Purpose:
  4.     This file contains only one function that set the bDoFindDlg global
  5.     variable to FALSE and then creates a dialog box with the same Callback
  6.     function as the DoFindDialog() function does.
  7.     Since FindText() and ReplaceText() both use the FINDREPLACE
  8.     structure to create their dialogs, one dialog proc and dialog box
  9.     can handle both.
  10.   Functions:
  11.     - DoReplaceDialog()    -- Creates CDTEST's Find/Replace dialog.
  12. ************************************************************************/
  13. #include <windows.h>
  14. #include <commdlg.h>
  15. #include "cdtest.h"
  16. #include "replace.h"
  17. #include "find.h"
  18. /************************************************************************
  19.   Function: DoReplaceDialog(HWND)
  20.   Purpose: To create CDTEST's find/replace dialog box.
  21.   Returns: Nothing.
  22.   Comments:
  23.     FindText() and ReplaceText() are similiar enough so that
  24.     the same dialog can be used to edit their creation structure elements,
  25.     so a global variable "bDoFindDlg" keeps track of which one to create
  26.     when the user clicks the OK or Multithread buttons...
  27. ************************************************************************/
  28. void DoReplaceDialog(HWND hwnd)
  29. {
  30.   bDoFindDlg = FALSE ;
  31.   /* in order for the keyboard to work, a hook has to be installed before
  32.      the dialog is created.  See find.c for more detail on this. */
  33.   hHook = SetWindowsHookEx(WH_MSGFILTER, lpfnFilterProc, hInst, GetCurrentThreadId()) ;
  34.   if (!hHook) return ;
  35.   DialogBox(hInst, MAKEINTRESOURCE(ID_FINDDIALOG), hwnd, FindProc) ;
  36.   UnhookWindowsHookEx(hHook) ;
  37. }