设为首页 加入收藏

TOP

1.3.3 小试牛刀--编程实现写邮件超级链接(1)
2013-10-07 15:53:03 来源: 作者: 【 】 浏览:85
Tags:1.3.3 小试牛刀 编程 实现 邮件 超级 链接

1.3.3  小试牛刀--编程(www.cppentry.com)实现写邮件超级链接(1)

实例功能 编程(www.cppentry.com)实现写邮件超级链接

源码路径 光盘\yuanma\1\Link

本实例的目的是,使用Visual C++(www.cppentry.com) 6.0开发一个实现写邮件超级链接的应用程序。

1. 设计MFC窗体

使用Visual C++(www.cppentry.com) 6.0创建一个MFC项目后,根据本实例的需要设计一个窗体,命名为IDD_ HLSAMPLE_DIALOG,如图1-16所示。

 
图1-16  创建的窗体

2. 具体编码

设计好窗体之后,接下来开始讲解具体的编码过程。

(1) 在文件HyperLink.h中定义继承于类CStatic的类CHyperLink,并设置与超链接相关的样式变量,例如鼠标形状、是否访问过等。具体代码如下:

  1. class CHyperLink : public CStatic  
  2. {  
  3. public:  
  4. CHyperLink();  
  5. virtual ~CHyperLink();  
  6. // 属性  
  7. public:  
  8.  
  9. public:  
  10. //设定URL  
  11. void SetURL(CString strURL);  
  12. CString GetURL() const;  
  13. //设定颜色  
  14. void SetColours(COLORREF crLinkColour, COLORREF crVisitedColour,   
  15. COLORREF crHoverColour=-1);  
  16. //获得连接颜色  
  17. COLORREF GetLinkColour() const;  
  18. //获得被访问后的颜色  
  19. COLORREF GetVisitedColour() const;  
  20. //获得鼠标移动上以后的颜色  
  21. COLORREF GetHoverColour() const;  
  22.  
  23. //设定是否被访问过  
  24. void SetVisited(BOOL bVisited=TRUE);  
  25. //获得是否被访问过  
  26. BOOL GetVisited() const;  
  27.  
  28. //设定鼠标形状  
  29. void SetLinkCursor(HCURSOR hCursor);  
  30. //获得鼠标形状  
  31. HCURSOR GetLinkCursor() const;  
  32. //设定是否有下划线  
  33. void SetUnderline(BOOL bUnderline=TRUE);  
  34. //获得是否有下划线  
  35. BOOL GetUnderline() const;  
  36. //设定是否是自动改变大小  
  37. void SetAutoSize(BOOL bAutoSize=TRUE);  
  38. BOOL GetAutoSize() const;  
  39.  
  40. public:  
  41. virtual BOOL PreTranslateMessage(MSG *pMsg);  
  42. protected:  
  43. virtual void PreSubclassWindow();  
  44. //}}AFX_VIRTUAL  
  45.  
  46. protected:  
  47. //连接到URL  
  48. HINSTANCE GotoURL(LPCTSTR url, int showcmd);  
  49. //打印错误  
  50. void ReportError(int nError);  
  51. //获得注册表信息  
  52. LONG GetRegKey(HKEY key, LPCTSTR subkey, LPTSTR retdata);  
  53. //调整位置  
  54. void PositionWindow();  
  55. //设定默认的鼠标形状  
  56. void SetDefaultCursor();  
  57.  
  58. // 变量  
  59. protected:  
  60. COLORREF m_crLinkColour, m_crVisitedColour; // 超级链接颜色  
  61. COLORREF m_crHoverColour;                           // 鼠标停留颜色  
  62. BOOL     m_bOverControl;                            // 是否鼠标移到控件上  
  63. BOOL     m_bVisited;                                // 是否被访问  
  64. BOOL     m_bUnderline;                              // 是否有下划线  
  65. BOOL     m_bAdjustToFit;                            // 是否自动调整控件大小  
  66. CString  m_strURL;                                  // URL  
  67. CFont    m_Font;                                        // 设定字体  
  68. HCURSOR  m_hLinkCursor;                             // 光标  
  69. CToolTipCtrl m_ToolTip;                             // 提示文字  
  70. protected:  
  71. afx_msg HBRUSH CtlColor(CDC *pDC, UINT nCtlColor);  
  72. afx_msg BOOL OnSetCursor(CWnd *pWnd, UINT nHitTest, UINT message);  
  73. afx_msg void OnMouseMove(UINT nFlags, CPoint point);  
  74. //}}AFX_MSG  
  75. afx_msg void OnClicked();  
  76. DECLARE_MESSAGE_MAP()  
  77. };  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇1.3.2 开发准备 下一篇1.3.3 小试牛刀--编程实现写邮件..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++中智能指针的性能 (2025-12-25 03:49:29)
·如何用智能指针实现c (2025-12-25 03:49:27)
·如何在 C 语言中管理 (2025-12-25 03:20:14)
·C语言和内存管理有什 (2025-12-25 03:20:11)
·为什么C语言从不被淘 (2025-12-25 03:20:08)