网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
在VC中为应用程序添加图形超链接功能
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
amp;rect,IDC_CONST);
 m_ToolTip.Activate(TRUE);
 CView::OnMouseMove(nFlags, point);
}
 LRESULT CTestView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
 // TODO: Add your specialized code here and/or call the base class
 switch(message)
  {case WM_LBUTTONDOWN:
   case WM_RBUTTONDOWN:
   case WM_MBUTTONDOWN:
   case WM_LBUTTONUP:
   case WM_MBUTTONUP:
   case WM_RBUTTONUP:
   case WM_MOUSEMOVE:
   {MSG msg;
    msg.hwnd=m_hWnd;
    msg.message=message;
    msg.wParam=wParam;
    msg.lParam=lParam;
    m_ToolTip.RelayEvent(&msg);
   }
  }
  return CView::WindowProc(message, wParam, lParam);
}

  如果用户想动态的改变提示字符串,可以调用CtoolTipCtrl类的成员函数UpdateTipText()来实现,该函数的原型为:

void UpdateTipText( LPCTSTR lpszText, CWnd* pWnd, UINT nIDTool = 0 );

  该函数的参数的含义与成员函数AddTool()的参数的含义大同小异,这里不再赘述。

  对于超链接来说,一般会在超链接区域改变鼠标的形状,显示手状的鼠标,提示这是一个超链接区域。当然可以在程序中添加一个手状的光标资源,然后使用LoadCursor()函数等加载,这种方法对广大读者朋友一定是耳熟能详了,所以为了扩大读者朋友的编程思路,这里介绍一种从Windows的winhlp32.exe文件中加载光标资源,代码如下:

void CMapHyperLink::SetDefaultCursor()
{
 if (m_hLinkCursor == NULL) // No cursor handle - load our own
 {
  // Get the windows directory
  CString strWndDir;
  GetWindowsDirectory(strWndDir.GetBuffer(MAX_PATH), MAX_PATH);
  strWndDir.ReleaseBuffer();
  strWndDir += _T("\winhlp32.exe");
  // This retrieves cursor #106 from winhlp32.exe, which is a hand pointer
  HMODULE hModule = LoadLibrary(strWndDir);
  if (hModule) {
   HCURSOR hHandCursor = ::LoadCursor(hModule, MAKEINTRESOURCE(106));
   if (hHandCursor)
    m_hLinkCursor = CopyCursor(hHandCursor);
  }
  FreeLibrary(hModule);
 }
}

  为了根据网页或信箱地址实现超链接功能,需要用到一个WINDOWS API函数ShellExecute(),其原型为:

HINSTANCE ShellExecute(
 HWND hwnd, //窗口句柄
 LPCTSTR lpOperation, //操作类型
 LPCTSTR lpFile, //文件指针
 LPCTSTR lpParameters, //文件可带的参数
 LPCTSTR lpDirectory, //缺省目录
 INT nShowCmd //显示方式
);

  ShellExecute()函数用于打开或执行一个文件,在调用此函数时只须指定要打开或执行的文件名,而不必管用什么程序去打开或执行文件,WINDOWS会自动根据要打开或执行的文件去判断该如何执行文件或用什么程序去打开文件。函数中的参数lpOperation说明所要执行的操作,该值可以设置为"Open"、"Print"、"Explore",分别用来进行"打开"、"打印"、"浏览"操作。下面给出了ShellExecute()函数的一些使用方法:

  (1)打开一个应用程序

ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );

ShellExecute(this->m_hWnd,"open","notepad.exe", "c:\MyLog.log","",SW_SHOW );

  (2)打开一个同系统程序相关连的文档

ShellExecute(this->m_hWnd,"open", "c:\abc.txt","","",SW_SHOW );

  (3)打开一个网页

ShellExecu

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号