工控编程吧
标题:
89上位机VC MFC富编辑框升级2.0及网址解析打开
[打印本页]
作者:
qq263946146
时间:
2015-12-17 19:52
标题:
89上位机VC MFC富编辑框升级2.0及网址解析打开
(, 下载次数: 6)
上传
点击文件名下载附件
89上位机VC MFC富编辑框升级2.0及网址解析打开
功能展示
富编辑框,旧版本有已知的些许Bug,我们当前例程就很简的升级了版本,并实现输入网址的解析功能,效果如图;
要点提示
编辑框要能够有解析用户输入网址功能,自身得有ENM_LINK掩码,且带有自行检测属性,也就是具有EM_AUTOURLDETECT,这两个条件我们当前例程都在一个函数里面实现 ;SetEventMask(GetEventMask()|ENM_LINK)可满足第一要求,::SendMessage( m_hWnd,EM_AUTOURLDETECT, in_fEnable, 0 )可满足第二要求
实现功能
1.新建基于对话框的应用程序
2.将我们当前例程中CRichEditCtrlEx类的两个文件RichEditCtrlEx.cpp,RichEditCtrlEx.h复制到自己工程根目录,并添加到工程中;
3.然后在主对话框中使用此类:拖拽一自定义控件,ID设置IDC_RICHEDITEX,class:RichEdit20A,添加变量CRichEditCtrlExm_RichEditEx;手动添加变量与控件的关联DDX_Control(pDX, IDC_RICHEDITEX,m_RichEditEx);
4.在APP中初始化富编辑框控件添加AfxInitRichEditEx() ; 初始化网址解析功能m_RichEditEx.AutoURLDetect( TRUE ) ;添加自定义函数OnRichEditExLink()实现网址的解析;
函数定义afx_msg void OnRichEditExLink( NMHDR* in_pNotifyHeader, LRESULT* out_pResult );
函数实现
void CGkbc8Dlg::OnRichEditExLink( NMHDR* in_pNotifyHeader, LRESULT* out_pResult )
{
ENLINK* l_pENLink = ( ENLINK* )in_pNotifyHeader ;
*out_pResult = 0 ;
switch( l_pENLink->msg )
{
default:
{
}
break ;
复制代码
case WM_SETCURSOR:
{
*out_pResult = 1 ;
}
break ;
case WM_LBUTTONDOWN:
{
CWaitCursor l_WaitCursor ;
m_RichEditEx.SetSel(l_pENLink->chrg.cpMin,l_pENLink->chrg.cpMax);//设置编辑框选中部分为链接部分
CString URL = m_RichEditEx.GetSelText();//获取链接
ShellExecute( this->GetSafeHwnd(), NULL, URL, NULL, NULL, SW_SHOWNORMAL ) ;
*out_pResult = 1 ;
}
break ;
case WM_LBUTTONUP:
{
*out_pResult = 1 ;
}
break ;
}
}
<div style="text-align: center;"><span style="font-size: large; line-height: 1.5;">函数映射 ON_NOTIFY( EN_LINK, IDC_RICHEDITEX, OnRichEditExLink )</span></div><font size="4"><div style="text-align: center;"><span style="line-height: 1.5;"><b>我们来演示下功能实现的整个过程</b></span></div></font>
复制代码
[iqiyi]http://player.video.qiyi.com/a92e13065f6785770f8f71d0a19b3a1d/0/0/w_19rt7kbozp.swf-albumId=5044999209-tvId=5044999209-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4