Syslink Control使用技巧

来源:互联网 发布:借钱软件哪个能借到钱 编辑:程序博客网 时间:2024/05/16 17:36

系统环境:Windows 7
软件环境:Visual Studio 2008 SP1
本次目的:实现Syslink Control超链接的效果

      我们知道在VS2008中,VC里面多了syslink controls,command 、 split buttons 和 network address controls。对于Syslink Control的使用,将在此介绍。目前该控件支持带HREF 和 ID 的锚定标记<a>,MSDN如下说明:

An HREF may be of any protocol, such as http, ftp, mailto, and so on. An ID is an optional name unique within a SysLink control and associated with an individual link. Links are also assigned a zero-based index according to their position within the string. This index is used to access a link.

首先:建立一个对话框工程,添加一个Syslink Control 控件;
然后,为控件添加CLinkCtrl 类的变量,这里名称为m_Link 。在对话框初始化函数OnInitDialog() 里面添加以下代码:

[cpp] view plaincopy
  1. m_Link.SetWindowText(_T("欢迎光临<a href="/" mce_href="/""http://blog.csdn.net/akof1314/">无幻博客</a>"));  

上面代码中的格式要注意,记得转义字符的使用。接着,为控件添加 NM_CLICK 事件,在事件函数里面添加如下:

[cpp] view plaincopy
  1. void CTestDlg::OnNMClickSyslink1(NMHDR *pNMHDR, LRESULT *pResult)  
  2. {  
  3.     // TODO: 在此添加控件通知处理程序代码  
  4.      PNMLINK pNMLink = (PNMLINK) pNMHDR;   
  5.      if (wcscmp(pNMLink->item.szUrl, _T("http://blog.csdn.net/akof1314")) == 0)  
  6.      {  
  7.         ShellExecuteW(NULL, L"open", pNMLink->item.szUrl, NULL, NULL, SW_SHOWNORMAL);  //主要执行语句  
  8.      }         
  9.     *pResult = 0;  
  10. }  
 

效果如下:

更多的信息,可以在这个博客查询:http://mariusbancila.ro/blog/2007/07/05/syslink-control-in-mfc-90/



自己弄的例子:

CLinkCtrl m_sysLinkCtrl;BOOL childDlg::OnInitDialog(){CDialogEx::OnInitDialog();m_sysLinkCtrl.SetWindowTextW(_T("<a href=\"http://blog.csdn.net/weiwenhp\">weiwenhp博客</a>")); // TODO:  在此添加额外的初始化return TRUE;  // return TRUE unless you set the focus to a control// 异常: OCX 属性页应返回 FALSE}void childDlg::OnNMClickSyslink1(NMHDR *pNMHDR, LRESULT *pResult){// TODO: 在此添加控件通知处理程序代码PNMLINK pNMLink = (PNMLINK) pNMHDR;   if (wcscmp(pNMLink->item.szUrl, _T("http://blog.csdn.net/weiwenhp")) == 0)  {  ShellExecuteW(NULL, L"open", pNMLink->item.szUrl, NULL, NULL, SW_SHOWNORMAL);  //主要执行语句  }    *pResult = 0;}

0 0
原创粉丝点击