在RichEdit中实现超链接

2016-02-19 16:35 33 1 收藏

今天给大家分享的是由图老师小编精心为您推荐的在RichEdit中实现超链接,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!

【 tulaoshi.com - 编程语言 】

  首先在Form上放置一个RichEdit。

  在窗体的构造函数中添加以下代码:

  

__fastcall TMainForm::TMainForm(TComponent* Owner)
    : TForm(Owner)
{
  unsigned mask = SendMessage(RichEdit1-Handle, EM_GETEVENTMASK, 0, 0);
  SendMessage(RichEdit1-Handle, EM_SETEVENTMASK, 0, mask | ENM_LINK);
  SendMessage(RichEdit1-Handle, EM_AUTOURLDETECT, true, 0); //自动检测URL
  RichEdit1-Text = "欢迎访问C++ Buildern"
           "网址: http://www.ccrun.comn"
           "偶的信箱:n"
           "mailto::info@ccrun.com n"
           "嘿嘿n";
}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  重载窗体的WndProc

  1。在.h中添加:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  protected:

  virtual void __fastcall WndProc(Messages::TMessage &Message);

  2。在.cpp中添加:

  

//---------------------------------------------------------------------------
void __fastcall TMainForm::WndProc(Messages::TMessage &Message)
{
  if (Message.Msg == WM_NOTIFY)
  {
    if (((LPNMHDR)Message.LParam)-code == EN_LINK)
    {
      ENLINK* p = (ENLINK *)Message.LParam;
      if (p-msg == WM_LBUTTONDOWN)
      {
        SendMessage(RichEdit1-Handle, EM_EXSETSEL, 0, (LPARAM)&(p-chrg));
        ShellExecute(Handle, "open", RichEdit1-SelText.c_str(), 0, 0, SW_SHOWNORMAL);
      }
    }
  }
  TForm::WndProc(Message);
}

  以上代码均已测试通过。

来源:http://www.tulaoshi.com/n/20160219/1612479.html

延伸阅读
标签: 办公软件
PowerPoint因其通俗易懂、容易上手而成为老师们制作课件的常用工具,而Visual Basic是目前比较流行的编程软件,有时在PowerPoint课件中为了更形象地说明问题,希望可以插入Visual Basic可执行程序。为此,可以用以下方法实现: 1. 打开演示文稿,右键单击[程序演示],打开快捷菜单,选取“动作设置”(如图1所示),打开对话框。 ...
标签: 电脑入门
在Word2010文档中创建超链接时,链接地址不仅仅可以指向网页,还可以指向包括Word文档、Excel文件等在内的任意文件。不过只有链接向本机程序支持的文件,才能在点击超链接时打开该文件。在Word2010文档中创建链接向指定文件超链接的步骤如下所述: 第1步,打开Word2010文档窗口,选中需要创建超链接的文字。切换到插入功能区,在链接分组中单...
相关链接:CRichEditCtrl实现MSN/QQ动画表情 首先对标题说明一下,在MSN中,聊天的窗口可能是一个自定义的类。大家用Spy ++可以看看。 对与自定义窗口,可以使用CreateWindow, SetWindowLong或者是SubclassWindow实现,不过这不是我现在讨论的话题。 好, 先看看效果再说(如图1): 图1:实现效果图 一、MSN超链...
RichEdit有一个FindText函数,极大方便了我们为RichEdit编制查找功能。下面的片断取自于Delphi帮助中的范例。 C++ Builder 请参照Delphi的例子 Delphi procedure TMainForm.FindDialogFind(Sender: TObject); !-- frame contents -- !-- /frame contents -- var ...
标签: word
在Word2010文档中创建文本超链接 Word2010文档中的超链接可以链接向网页、Word文档、Excel文件或其他Office文档、可执行文件等,是拓展Word2010内容含量的有效方式。在Word2010文档中,文本超链接是最常见的超链接形式。创建文本超链接的步骤如下所述: 第1步,打开Word2010文档窗口,选中需要创建超链接的文本。切换到插入功能区,...

经验教程

475

收藏

88
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部