精华内容
下载资源
问答
  • 查找替换对话框 查找替换对话框 查找替换对话框 查找替换对话框
  • 查找/替换对话框的使用

    千次阅读 2020-04-29 08:31:07
    注:Windows通用对话框中,查找/替换对话框比较特殊,是一个非模态对话框。查找/替换对话框本身没有查找/替换功能,它只是为我们提供了一个接收用户要求的接口,使我们知道了何种查找/替换的要求,真正的查找/替换...

    注:在Windows通用对话框中,查找/替换对话框比较特殊,是一个非模态对话框。查找/替换对话框本身没有查找/替换功能,它只是为我们提供了一个接收用户要求的接口,使我们知道了何种查找/替换的要求,真正的查找/替换工作需要另外编程实现。

    (1)新建一个基于对话框的MFC应用程序FindReplaceDialogTest,删除对话框中原有控件。
    打开FindReplaceDialogTestDlg.cpp文件,在开头定义几个全局变量:

    CFindReplaceDialog* gpFindReplaceDlg = NULL; //指向查找对话框或替换对话框
    BOOL gbLastCase = FALSE; //记录上一次的大小写情况
    int gpos = 0,gcurpos; //gpos是查找索引;gcurpos是当前索引 
    CString gstrEdit,gstrLast; //gstrEdit存放上一次编辑框中的正文内容;gstrLast存放上一次查找框中的内容
    

    (2)切换到资源视图,打开对话框,添加一个编辑框,用来显示正文内容,设置编辑框的Want Return和Multiline属性为True,为其添加控件变量m_edt和值变量m_strEdit。添加一个按钮“显示查找对话框”,并添加按钮单击事件处理代码:

    void CFindReplaceDialogTestDlg::OnBnClickedButton1()  //显示查找对话框
    {
    	// TODO: 在此添加控件通知处理程序代码
    	if (!gpFindReplaceDlg)
    	{
    		gpFindReplaceDlg = new CFindReplaceDialog(); //开辟空间
    		gpFindReplaceDlg->Create(true, NULL, NULL, FR_DOWN, this);  //创建查找对话框
    	}
    	gpos = 0;//初始化搜索索引值
    	gpFindReplaceDlg->ShowWindow(SW_SHOW);    //显示对话框
    }
    

    (3)再添加一个按钮“显示替换对话框”,添加按钮单击事件处理代码:

    void CFindReplaceDialogTestDlg::OnBnClickedButton2() //显示替换对话框
    {
    	// TODO: 在此添加控件通知处理程序代码
    	if (!gpFindReplaceDlg)
    	{
    		gpFindReplaceDlg = new CFindReplaceDialog(); //开辟空间
    		gpFindReplaceDlg->Create(false, m_FindString, m_ReplaceString, FR_DOWN, this);// 创建替换对话框
    	}
    	gpos = 0;//初始化搜索索引值
    	gpFindReplaceDlg->ShowWindow(SW_SHOW);    //显示对话框
    }
    

    (4)在FindReplaceDialogTestDlg.h文件CFindReplaceDialogTestDlg类中增加以下代码:

    CString m_FindString, m_ReplaceString;
    

    (5)打开FindReplaceDialogTestDlg.h文件,定义一个全局变量:

    static UINT WM_FINDREPLACE = ::RegisterWindowMessage(FINDMSGSTRING); //注册消息
    

    (6)添加消息处理函数,在头文件FindReplaceDialogTestDlg.h中声明函数,定位到DECLARE_MESSAGE_MAP()前面添加:

    afx_msg LONG OnFindReplace(WPARAM wParam, LPARAM lParam);
    

    (7)再打开FindReplaceDialogTestDlg.cpp,添加函数:

    LONG CFindReplaceDialogTestDlg::OnFindReplace(WPARAM wParam, LPARAM lParam)
    {
    	BOOL bCase = gpFindReplaceDlg->MatchCase();
    	BOOL bDown = gpFindReplaceDlg->SearchDown();
    	CString strRawFind;
    
    
    	//判断是否关闭查找替换对话框  
    	if (gpFindReplaceDlg->IsTerminating())
    	{
    		gpFindReplaceDlg = NULL;
    		return 0;
    	}
    	//获取需要查找的文本  
    	CString strFind = gpFindReplaceDlg->GetFindString();
    	int lenStrFind = strFind.GetLength();
    	//获取需要替换所查找的文本的文本  
    	CString strReplace = gpFindReplaceDlg->GetReplaceString();
    	int lenStrReplace = strReplace.GetLength();
    	CString strEdit;
    
    	m_edt.GetWindowText(strEdit); //获取查找/替换对话框上的查找框中的字符串
    
    	if(gbLastCase != bCase)//大小写状态发生了变化,准备重新开始搜索
    	{
    		gbLastCase = bCase; //保持本次大小写状态
    		if (bDown)
    			gpos = 0;
    		else
    			gpos = strEdit.GetLength() - 1;
    	}
    	
    	if (gstrEdit.Compare(strEdit) != 0)//如果用户修改了正文内容,则索引要初始化
    	{
    		gstrEdit = strEdit; //保存本次正文内容
    		if (bDown)
    			gpos = 0;
    		else
    			gpos = strEdit.GetLength() - 1;
    	}
    	if (gstrLast.Compare(strFind) != 0)//如果用户修改了查找框中的内容,则索引要初始化
    	{
    		gstrLast = strFind; //保存本次查找框中的内容
    		if (bDown)
    			gpos = 0;
    		else
    			gpos = strEdit.GetLength() - 1;
    	}
    
    	strRawFind = strFind;
    	if (!bCase) //如果不区分大小写,则都转成大写
    	{
    		strEdit.MakeUpper(); //转换成大写
    		strFind.MakeUpper(); //转换成大写
    	}
    
    	
    	if (gpFindReplaceDlg->FindNext()) //查找下一个
    	{
    		if (bDown) //如果是向下搜索
    		{
    			if (gpos == strEdit.GetLength() - 1)
    			{
    				MessageBox(_T("已经向下查找到文件结尾,但没找到"), _T("查找替换"), MB_OK | MB_ICONINFORMATION);
    				goto end;
    			}
    			gpos = strEdit.Find(strFind, gpos); //在正文字符串中查找
    			if (gpos == -1)
    			{
    				gpos = strEdit.GetLength() - 1;
    				MessageBox(_T("无法找到: ") + strRawFind);
    			}
    			else
    			{
    				m_edt.SetFocus();
    				m_edt.SetSel(gpos, gpos + lenStrFind);
    				gcurpos = gpos; 
    				gpos = gpos + lenStrFind; //更新索引,准备下一次查找
    			}
    		}
    		else //如果是向上搜索
    		{
    
    			if (gpos == 0)
    			{
    				MessageBox(_T("已经向上查找到文件开头,但没找到"), _T("查找替换"), MB_OK | MB_ICONINFORMATION);
    				goto end;
    			}
    			wstring str = strEdit.GetBuffer(0);
    			gpos = str.find_last_of(strFind, gpos); //find_last_of是反向找
    			strEdit.ReleaseBuffer();
    			if (gpos == -1)
    			{
    				gpos = 0;
    				MessageBox(_T("无法找到: ") + strRawFind);
    			}
    			else
    			{
    				m_edt.SetFocus();
    				m_edt.SetSel(gpos, gpos + lenStrFind);
    				gcurpos = gpos;
    				gpos = gpos - lenStrFind; //向后更新索引
    			}
    		}
    		
    	}
    	//处理替代
    	if (gpFindReplaceDlg->ReplaceCurrent()) //是否按下“替代”按钮
    	{
    		if (gcurpos >= 0)
    		{
    			m_edt.SetFocus();
    			m_edt.SetSel(gcurpos, gcurpos + lenStrFind);
    			m_edt.ReplaceSel(strReplace);
    			m_edt.SetSel(gcurpos, gcurpos + lenStrReplace);
    			gpos = gcurpos + lenStrReplace;
    		}
    	}
    	//处理替代全部 
    	if (gpFindReplaceDlg->ReplaceAll())  //是否按下“替代全部”按钮
    	{
    		UpdateData(TRUE);
    		m_strEdit.Replace(strFind, strReplace); //开始替代
    		UpdateData(FALSE);
    	}
    end:
    
    	return 0;
    }
    

    (8)在开头添加代码:

    #include <string>
    using namespace std;
    

    (9)保存工程并运行,运行结果如图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 如何使用Windows系统的查找替换对话框,这个例子会告诉你答案,例子调用了“查找”对话框,并没有调用替换的对话框,不过功能思路是一样的,相信学会了这个,调用其它的也就容易理解了。 运行环境:Visual Studio...
  • (MFC)查找和替换对话框实例

    千次阅读 2016-07-19 14:09:28
    想必大家也想试试如何使用一个通用对话框了吧,今天将带你MFC中使用“查找和替换对话框。 步骤 1.首先需要创建一个基于对话框的MFC应用程序,这里不再赘述2.创建一个对话框资源,向该对话框中添加“Edit Control...

    介绍

    MFC中有许多的通用对话框例入选择文件、选择图标等,这极大地降低了我们开发的难度。想必大家也想试试如何使用一个通用对话框了吧,今天将带你在MFC中使用“查找和替换”对话框。

    步骤

    1.首先需要创建一个基于对话框的MFC应用程序,这里不再赘述2.创建一个对话框资源,向该对话框中添加“Edit Control”(文本编辑框控件)和一个“Button”按钮控件 3.选中添加的文本编辑框控件,并单击右键选择“添加变量”,将输入变量名“m_text”然后确定 4.打开对话框的头文件,添加如下代码。(对话框的标准构造函数下)
    CFindReplaceDialog *dlg; //申明查找替换对话框
    int nindex;//存储查找的字符串的起始位置
    int rindex;//替换字符串大小
    BOOL degree;//判断是否为第一次替换
    BOOL find;//判断是否进行查找的变量


    5.定义新的消息WM_FINDMESSAGE

    static const UINT MsgFindReplace = ::RegisterWindowMessage(FINDMSGSTRING); //用于捕获有"查找和替换"发出的消息
    6.打开头文件的消息映射定义部分,添加如下代码
    afx_msg LONG OnFindReplace(WPARAM wParam, LPARAM lParam);//添加映射宏


    7.找到对话框的源文件("cpp"文件)在消息映射部分添加如下代码:

    ON_REGISTERED_MESSAGE(MsgFindReplace, OnFindReplace)//将"查找和替换"发出的消息映射为函数OnFindReplace()


    8.打开对话框的源文件,添加如下消息处理代码

    LRESULT CMFCApp1Dlg::OnFindReplace(WPARAM, LPARAM lParam)
    {
    	
    	CString strText, repText;							//声明字符串变量
    	strText = dlg->GetFindString();						//获得查找字符串
    	CString str;										//声明字符串变量
    	m_text.GetWindowText(str);							//获得编辑框中是文本
    	if (dlg->ReplaceCurrent())							//判断是否进行替换
    		find = FALSE;									//进行替换
    	else
    		find = TRUE;									//进行查找
    	int len;											//声明整型变量
    	if (dlg->ReplaceAll())							//判断是否全部替换
    	{
    		repText = dlg->GetReplaceString();			//获得替换字符串
    		len = repText.GetLength();				//获得替换字符串长度
    		str.Replace(strText, repText);				//使用替换字符串替换查找字符串
    		m_text.SetWindowText(str);					//将替换后的字符串显示在编辑框中
    	}
    	if (find)											//判断是查找还是替换
    	{
    		len = strText.GetLength();						//获得要查找字符串的长度
    	}
    	else
    	{
    		CString left, right;							//声明字符串变量
    		int num = strText.GetLength();			//获得查找字符串的长度
    		int strnum = str.GetLength();				//获得编辑框中文本长度
    		int index;									//声明整型变量
    		int ret = str.Find(strText, 0);
    		if (ret < 0)
    			return 1;
    		if (!degree)									//判断是否为第一次替换
    			index = str.Find(strText, nindex);		//获得查找字符串在编辑框文本中的位置
    		else if (nindex - rindex >= 0)					//判断起始查找位置是否小于0
    			index = str.Find(strText, nindex - rindex);//获得查找字符串在编辑框文本中的位置
    		else
    		{
    			nindex = rindex;						//设置起始查找位置
    			return 1;
    		}
    		degree = TRUE;
    		left = str.Left(index);						//获得替换字符串左侧的字符串
    		right = str.Right(strnum - index - num);		//获得替换字符串右侧的字符串
    		repText = dlg->GetReplaceString();			//获得替换字符串
    		len = repText.GetLength();					//获得替换字符串长度
    		rindex = len;
    		str = left + repText + right;				//组合成新的字符串
    		m_text.SetWindowText(str);					//在编辑框中显示新的字符串
    	}
    	int index = str.Find(strText, nindex);				//获得查找字符串在编辑框文本中的位置
    	m_text.SetSel(index, index + len);						//选中查找或替换的字符串
    	nindex = index + len;									//设置起始查找位置
    	m_text.SetFocus();									//编辑框获得焦点
    
    	return 0;
    }


    9.双击按钮控件(即添加默认的按钮点击事件以处理WM_FINDMESSAGE消息)添加如下代码:

    dlg = new CFindReplaceDialog; //创建新的对话框
    dlg->Create(FALSE, NULL); //显示"查找和替换"对话框(如果只显示查找的话,把FALSE改成TRUE即可)
    dlg->ShowWindow(SW_SHOW);//显示窗体


    注意: 如果只需要“查找”对话框只要将“dlg->Create(FALSE,NULL)”改为” dlg->Create(TRUE,NULL)”即可

    启动!

    原理

    该过程中使用了消息映射的功能,因为“查找和替换”对话框是非模态的,所以当按钮创建“查找的替换”时候将会映射到处理函数“OnFindReplace”,从而实现查找和替换功能。原理图如下:

    源代码

    360云盘分享: https://yunpan.cn/criDVZLp9Bqzz 密码为:e9e1由Visual Studio 2015编译

    存在的问题

    由于目前无法释放指针可能会导致内存泄漏的问题,如果有更好的意见或建议欢迎与我分享,谢谢 :)

    参考

    1.《Visual C++从入门到精通》,第六章,7.4节2. VC使用查找和替换对话框 
    展开全文
  • Windows通用对话框中,查找/替换对话框是比较特殊的一个,它是一个非模态对话框,所以它的使用与其它通用对话框有所不同。 一、注册 注册的目的有两个,一是说明程序中要使用查找/替换对话框,二是让窗口能...

    查找/替换对话框CFindReplaceDialog的使用

    Windows通用对话框中,查找/替换对话框是比较特殊的一个,它是一个非模态对话框,所以它的使用与其它通用对话框有所不同。

    一、注册

    注册的目的有两个,一是说明在程序中要使用查找/替换对话框,二是让窗口能响应查找/替换消息,提供相应的消息函数。

    注册位置应该在查找/替换对话框的父窗口,比如主框架窗口CMainFrame、视图CxxView或某对话框。也就是响应查找/替换操作的那个窗口。

    比如,欲在视图中响应查找/替换操作,则在视图中加入下面的注册代码(红字为添加的代码):

    class CEditTestView : public CFormView
    {
        …………
    protected:
        //{{AFX_MSG(CEditTestView)
        …………
        afx_msg LONG OnFindReplace(WPARAM wParam,LPARAM lParam);
        DECLARE_MESSAGE_MAP()
    };

    IMPLEMENT_DYNCREATE(CEditTestView, CFormView)
    static UINT WM_FINDREPLACE = ::RegisterWindowMessage( FINDMSGSTRING );
    BEGIN_MESSAGE_MAP(CEditTestView, CFormView)
        //{{AFX_MSG_MAP(CEditTestView)
        …………
        //}}AFX_MSG_MAP
        ON_REGISTERED_MESSAGE(WM_FINDREPLACE,OnFindReplace)
    END_MESSAGE_MAP()

    注册完成后,OnFindReplace()函数可用来接收查找/替换对话框的用户消息,另外用ClassWizard打开CEditTestView,可以发现ID_EDIT_FINDID_EDIT_REPLACE两个ID号,可以用来添加查找/替换菜单,这在注册前是没有的。

    二、对话框的创建与显示

    作为非模态对话框,必须用new操作符分配存储空间,再用Create()函数进行初始化,最后用ShowWindow()函数显示对话框。

    下面的例子是创建一个查找对话框:先在菜单中用IDID_EDIT_FIND添加一个查找菜单项,再用ClassWizard添加它的响应函数OnEditFind(),加入代码。

    //查找菜单响应函数
    void CEditTestView::OnEditFind()
    {
        CFindReplaceDialog* pDlg = new CFindReplaceDialog();
        pDlg->Create( true, NULL, NULL, FR_DOWN, this );  //创建查找对话框
        pDlg->ShowWindow( SW_SHOW );    //显示对话框
    }

    Create()函数的原型如下:

    BOOL Create(BOOL bFindDialogOnly,LPCTSTR lpszFindWhat,LPCTSTR lpszReplaceWhat=NULL,DWORD dwFlag=FR_DOWNCWnd* pParentWnd=NULL);

    参数:
    bFindDialogOnly为对话框类型,为TRUE时,显示查找对话框,为FALSE时,显示查找/替换对话框;
    lpszFindWhat为在查找框中显示的字符串;
    lpszReplaceWhat为在替换框中显示的字符串;
    dwFlag为标志位,用来定制对话框,它可以是一个或多个标志的组合,主要取值如下:
    FR_DOWN 如果设置,对话框中的向下查找单选按钮被选中,如果没有设置,向上查找单选按钮被选中;
    FR_HIDEUPDOWN 不显示查找方向单选按钮;
    FR_HIDEMATCHCASE 不显示区分大小写复选按钮;
    FR_HIDEWHOLEWORD 不显示全字匹配复选按钮;
    FR_MATCHCASE 使区分大小写复选按钮处于选中状态;
    FR_WHOLEWORD 使全字匹配复选按钮处于选中状态;
    FR_NOMATCHCASE 使区分大小写复选按钮处于禁止(变灰)状态;
    FR_NOUPDOWN 使查找方向单选按钮处于禁止(变灰)状态;
    FR_NOWHOLEWORD 使全字匹配复选按钮处于禁止(变灰)状态;
    FR_SHOWHELP 在对话框中显示一个帮助按钮。
    pParentWnd指向对话框的父窗口,如果为NULL,则为主框架窗口,使用时需让它指向接收查找/替换消息的窗口。

    上例中定制的是一个查找窗口,它显示为:

     

    如果定制一个查找/替换窗口,可以添加OnEditReplace()函数:

    //替换菜单响应函数
    void CEditTestView::OnEditReplace()
    {
        CFindReplaceDialog* pDlg = new CFindReplaceDialog();
        pDlg->Create( false, m_FindString, m_ReplaceString, FR_DOWN, this );//创建替换对话框
        pDlg->ShowWindow( SW_SHOW );    //显示对话框
    }



     

    m_FindString和m_ReplaceString是预定义的字符串变量,用于初始化查找框和替换框。这时它显示为:

     

    Create()创建对话框前,也可以用成员变量m_fr对对话框进行更详细的定制。

    三、响应查找/替换消息

    查找/替换对话框显示后,其后单击其上任何一个按钮,消息都被送到窗口回调函数OnFindReplace()函数中,所以我们不需要为每个按钮添加消息函数,所有对按钮消息的处理都在OnFindReplace()函数中进行即可。

    这里要注意一点,查找/替换对话框本身没有查找/替换功能,它只是为我们提供了一个接收用户要求的接口,使我们知道用户提出了何种查找/替换要求,真正的查找/替换工作需另行编程实现。这一点与文件对话框相似,用打开文件对话框不能真的打开文件,它只是让我们知道用户想要打开哪个文件而已。

    OnFindReplace()函数中,我们可以用CFindReplaceDialog类的成员函数获知用户请求,其中主要的有:

    static CFindReplaceDialog* PASCAL GetNotifier(LPARAM lParam);
    获取当前查找/替换对话框的指针。参数lParam为传递给回调函数OnFindReplace()lParam值。

    BOOL FindNext()const;
    检取用户是否单击查找下一个按钮。

    BOOL ReplaceCurrent()const;
    检取用户是否单击替换按钮。

    BOOL ReplaceAll()const;
    检取用户是否单击全部替换按钮。

    利用以上几个函数可以获知用户单击了哪个按钮。但在查找/替换时,还需要知道用户的查找/替换设置,这可以用下面的函数检取这些设置:

    CString GetFindString()const;
    检取查找的字符串。它可能与设置的初始值不同。

    CString GetReplaceString()const;
    检取替换的字符串。

    BOOL SearchDown()const;
    检取查找方向,为TRUE时表示向下查找

    BOOL MatchCase()const;
    检取区分大小写状态,为TRUE时表示要求区分大小写。

    BOOL MatchWholeWord()const;
    检取全字匹配状态,为TRUE时表示要求全字匹配。

    以下就是注册的OnFindReplace()函数,其中“……”为需要用户编写的查找/替换操作。

    LONG CEditTestView::OnFindReplace(WPARAM wParam,LPARAM lParam)
    {
        CFindReplaceDialog* pDlg = CFindReplaceDialog::GetNotifier(lParam);
        m_FindString = pDlg->GetFindString();        //查找串
        m_ReplaceString = pDlg->GetReplaceString();  //替换串
        if( pDlg->FindNext() )          //查找下一个
        {
            …………;
        }
        if( pDlg->ReplaceCurrent() )    //替换
        {
            …………;
        }
        if( pDlg->ReplaceAll() )        //全部替换
        {
            …………;
        }

        return 0;
    }



     

    示例程序是一个简易文本编辑器,模仿记事本的查找/替换形式设计了相应的查找/替换形式。

    本示例程序与文章《扩展Edit Box控件的功能》的相同。

     

    示例程序界面图:

     下载地址:http://download.csdn.net/detail/zhuimengzh/3761308

     

    转自:http://221.199.150.103/jsj/Html/vc/wen/vcwen12.htm

    展开全文
  • 打开一个文本编辑器,按下Ctrl + F 出现左边图样的对话框--查找对话框,按下Ctrl + H 出现右边图样的对话框--替换替换对话框Windows中定义了两个结构体两个函数,让我们编程的时候能够很方便的创建这两个...

     

    打开一个文本编辑器,按下Ctrl + F 出现左边图样的对话框--查找对话框,按下Ctrl + H 出现右边图样的对话框--替换替换对话框,在Windows中定义了两个结构体和两个函数,让我们在编程的时候能够很方便的创建这两个对话框。

     

    这两个对话框不像系统中其他的对话框那样,这是非模态的对话框,允许用户在主窗口和这两个窗口之间来回切换。

     

    在创建对话框之前,必须先调用 RegisterWindowMessage注册一个FINDMSGSTRING类型的消息,获得消息的ID号。

     

    FINDREPLACE结构体:

    lStructSize 结构体的大小,用sizeof(FINDREPLACE)初始化。

    hwndOwner 创建查找替换对话框的窗口的句柄,也是接收之前注册的消息的对话框的句柄。

    lpstrFindWhat 查找的字符串,使用动态分配的全局或者静态字符数组。

    lpstrReplaceWith 替换成的字符串。

    wFindWhatLen 查找字符串的长度

    wReplaceWithLen 替换成的字符串的长度

    /*

    hInstance、lCustData、lpfnHook、lpTemplateName 如果不使用复杂的钩子,则可以忽略这四个参数。

    */

     

    如果Flages设置了FR_DOWN位,则DOWN单选按钮被选中;

    如果用户点击了对话框中的查找下一个按钮,在发送消息通知创建窗口之前,会设置Flages位,在消息处理函数中可以通过这个为来判断是否点击了“查找下一个按钮”。

     

    配置了结构体以后,调用 FindText 或者ReplaceText函数创建对话框。


    展开全文
  • 开发一个可以不同项目间复用的查找对话框 查找对话框需求分析 -可复用软件部件 -查找文本框中的指定字符串 -能够指定查找方向 -支持大小写敏感查找 - 点击关闭按钮后隐藏 ...
  • 通过VC实现使用查找替换对话框实现查找替换功能,供初学者参考。
  • WTL中使用CFindReplaceDialog,个人感觉要比MFC简单一些。... 首先需要响应“查找/替换”菜单或者按钮功能的地方添加如下代码,用来显示查找/替换对话框。我是某个按钮下响应“查找/替换”功能的。LRESULT CMain
  • VC++中查找/替换对话框的使用

    千次阅读 2006-12-29 19:36:00
    Windows通用对话框中,查找/替换对话框是比较特殊的一个,它是一个非模态对话框,所以它的使用与其它通用对话框有所不同。 一、注册 注册的目的有两个,一是说明程序中要使用查找/替换对话框,二是让窗口能...
  • 工具--选项--环境--查找和替换如下设置:则会在查找替换到最后时会弹出提示,比如“查找到达了搜索的起点”,如下图:   原文:http://keleyi.com/a/bjac/27iswh0p.htm...
  • Visual C++ 开发技术 通用对话框编程 查找替换对话框例程,例程来自《Visual C++ 开发技术大全》,全部打包下载可点击http://download.csdn.net/detail/zhou625315237/5103878
  • 查找/替换对话框CFindReplaceDialog

    千次阅读 2010-07-03 17:09:00
    有两种CFindReplaceDialog对象:查找对话框 查找/替换对话框 尽管对话框允许用户输入查找/替换对话框,它们并不进行查找或替换,必须应用中添加相关代码。   以下为构造查找/替换对话框步骤: ...
  • 下面我们来看看查找对话框的设计图,来进一步理解查找替换对话框的设计思想 接着我们来看查找替换对话框具体的排版方式(图一查找对话框,图二替换对话框) 图-1 图-2 可以看出,替换对话框查找替换框原有只是...
  • 通用对话框专题之查找替换对话框

    千次阅读 2008-02-21 20:54:00
    这一回,我们就来讲讲查找替换对话框吧,这个讲完了,我们下会就开始进入多线程专题了.记得来顶顶啊!呵呵好,我们进入正题吧,查找替换对话框与以前的通用对话框还是有些不一样的.首先它是一个无模式对话框.所以你应该...
  • VC++查找替换对话框

    千次阅读 2012-10-26 14:47:08
    (1)设置全局变量 ...(2)为了使父窗口知道查找/替换请求,必须使用RegisterWindowMessage函数,它的返回值是应用实例唯一的消息号。 static UINT WM_FINDMESSAGE = ::RegisterWindowMessage(FIND
  • 这样对查找替换对话框进行操作时,消息队列中便会有了WM_FINDREPLACEMESSAGE消息了,这样我们可以建立对应的消息响应函数,对用户对查找替换对话框的操作进行响应。 Step2【消息映射】:利用ON_REGISTERED_...
  • 查找替换对话框在VC中的使用

    千次阅读 2013-10-28 15:06:57
    查找替换对话框在VC中的使用 1.弹出查找替换对话框  CString findString;  findReplaceDialog = new CFindReplaceDialog;  findReplaceDialog->Create( TRUE, findString, "" );     2.如何实现...
  • 应用查找替换对话框

    2009-02-20 10:14:00
    //替换对话框查找功能 procedure TFFind.ReplaceDialog1Find(Sender: TObject); var FoundAt: LongInt; //特定字符串的位置 StartPos, ToEnd: Integer; //查找的起始位置和查找长度 begin if Richedit1....
  • Qt替换对话框

    2018-09-20 10:26:33
    替换对话框,继承自查找对话框后实现,ReplaceDialog.
  • 用MFC实现“查找/替换对话框

    千次阅读 2014-07-20 10:40:40
    查找/替换对话框都属于“非模态”对话框
  • 第一个参数为true显示的是查找对话框,为False时显示的是查找和替换对话框 8 第二个参数指定在查找对话框中显示的字符串 9 第三个参数指定在替换对话框中显示的字符串 10 第四个参数为指定标志位,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,128
精华内容 20,051
关键字:

在查找和替换对话框的查找内容