⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 popfind.c

📁 C#一个实例源代码
💻 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 + -