📄 popfind.c
字号:
#include <windows.h>
#include <commdlg.h>
#include <tchar.h>
#define MAX_STRING_LEN 256
static TCHAR szFindText[MAX_STRING_LEN];
static TCHAR szReplText[MAX_STRING_LEN];
HWND PopFindFindDlg(HWND hwnd)
{
static FINDREPLACE fr;
fr.lStructSize=sizeof(FINDREPLACE);
fr.hwndOwner=hwnd;
fr.hInstance=0;
fr.Flags=FR_HIDEUPDOWN|FR_HIDEMATCHCASE|FR_HIDEWHOLEWORD;
fr.lpstrFindWhat=szFindText;
fr.lpstrReplaceWith=NULL;
fr.wFindWhatLen=MAX_STRING_LEN;
fr.wReplaceWithLen=0;
fr.lCustData=0;
fr.lpfnHook=0;
fr.lpTemplateName=0;
return FindText(&fr);
}
BOOL PopFindValidFind(void)
{
return *szFindText!='\0';
}
BOOL PopFindNextText(HWND hwndEdit,int*piSearchOffset)
{
FINDREPLACE fr;
fr.lpstrFindWhat=szFindText;
return PopFindFindText(hwndEdit,piSearchOffset,&fr);
}
BOOL PopFindFindText(HWND hwndEdit,int *piSearchOffset,LPFINDREPLACE pfr)
{
int iLength,iPos;
PTSTR pstrDoc,pstrPos;
iLength=GetWindowTextLength(hwndEdit);
if(NULL==(pstrDoc=(PTSTR)malloc((iLength+1)*sizeof(TCHAR))))
{ return FALSE;}
GetWindowText(hwndEdit,pstrDoc,iLength+1);
pstrPos=_tcsstr(pstrDoc+*piSearchOffset,pfr->lpstrFindWhat);
free(pstrDoc);
if(pstrPos==NULL)
{ return FALSE;}
iPos=pstrPos-pstrDoc;
*piSearchOffset=iPos+lstrlen(pfr->lpstrFindWhat);
SendMessage(hwndEdit,EM_SETSEL,iPos,*piSearchOffset);
SendMessage(hwndEdit,EM_SCROLLCARET,0,0);
return TRUE;
}
HWND PopFindReplaceDlg(HWND hwnd)
{
static FINDREPLACE fr;
fr.lStructSize=sizeof(FINDREPLACE);
fr.hwndOwner=hwnd;
fr.hInstance=0;
fr.Flags=FR_HIDEUPDOWN|FR_HIDEMATCHCASE|FR_HIDEWHOLEWORD;
fr.lpstrFindWhat=szFindText;
fr.lpstrReplaceWith=szReplText;
fr.wFindWhatLen=MAX_STRING_LEN;
fr.wReplaceWithLen=MAX_STRING_LEN;
fr.lCustData=0;
fr.lpfnHook=0;
fr.lpTemplateName=0;
return ReplaceText(&fr);
}
BOOL PopFindReplaceText(HWND hwndEdit,int *piSearchOffset,LPFINDREPLACE pfr)
{
if(!PopFindFindText(hwndEdit,piSearchOffset,pfr))
return 0;
SendMessage(hwndEdit,EM_REPLACESEL,0,(LPARAM)pfr->lpstrReplaceWith);
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -