﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-阿L的b"L"og</title><link>http://www.cppblog.com/williamlpz/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 09 Jun 2026 17:41:03 GMT</lastBuildDate><pubDate>Tue, 09 Jun 2026 17:41:03 GMT</pubDate><ttl>60</ttl><item><title>与网页链接相似的CLinkStatic类</title><link>http://www.cppblog.com/williamlpz/archive/2006/02/22/3412.html</link><dc:creator>阿L</dc:creator><author>阿L</author><pubDate>Wed, 22 Feb 2006 07:50:00 GMT</pubDate><guid>http://www.cppblog.com/williamlpz/archive/2006/02/22/3412.html</guid><wfw:comment>http://www.cppblog.com/williamlpz/comments/3412.html</wfw:comment><comments>http://www.cppblog.com/williamlpz/archive/2006/02/22/3412.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/williamlpz/comments/commentRss/3412.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/williamlpz/services/trackbacks/3412.html</trackback:ping><description><![CDATA[<P><FONT color=#000000><FONT size=2>先创建一个类,见到Static可能会想继承自CStatic吧,其实我觉得继承自CWnd会更好,由于绘制等的都是自己写的,CStatic提供的东西没有用到.<BR>添加以下两个成员变量<BR></FONT></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">CString&nbsp;m_csTitle;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">显示的标题</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">CString&nbsp;m_csUrl;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">点击后跳到的URL</SPAN></DIV>
<P><FONT size=2>可以添加SetTitle和SetUrl两个函数给外部使用.</FONT><BR><BR><FONT size=2>添加OnPain,OnMouseMove和OnLButtonDown几个函数,<BR>OnPaint:把要显示的TITLE画出来,最好选个好看的字体,默认的字体好难看<BR>OnMouseMove:鼠标在链接上移动时用SetCursor改变鼠标的图标,<BR>OnLButtonDown:鼠标点击,随便调用ShellExecut用m_csUrl就可以了<BR><BR>如果想效果好一点,例如鼠标在链接上移动时改变链接的颜色或将文字变成有下划线(underline),可以在OnMouseMove中使用SetCapture捕捉鼠标,然后在程序里判断鼠标的移进移出,或者用TrackMouseEvent后就可以接受OnMouseEnter和OnMouseLeave了.<BR><BR>为了在使用时容易用,最好自己写一个Create,对了,如果继承自CStatic,创建时要加一个SS_NOTIFY的样式才可以接收那些OnLButtonDown的函数.<BR><BR>部分代码贴出来<BR></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG id=Codehighlighter1_0_77_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_77_Open_Text.style.display='none'; Codehighlighter1_0_77_Closed_Image.style.display='inline'; Codehighlighter1_0_77_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_0_77_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_77_Closed_Text.style.display='none'; Codehighlighter1_0_77_Open_Image.style.display='inline'; Codehighlighter1_0_77_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top><SPAN id=Codehighlighter1_0_77_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</SPAN><SPAN id=Codehighlighter1_0_77_Open_Text><SPAN style="COLOR: #808080">///////////////////////////////////////////////////////////////////////////</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #808080"></SPAN></SPAN><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;CLinkStatic</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>CLinkStatic::CLinkStatic()<BR><IMG id=Codehighlighter1_121_229_Open_Image onclick="this.style.display='none'; Codehighlighter1_121_229_Open_Text.style.display='none'; Codehighlighter1_121_229_Closed_Image.style.display='inline'; Codehighlighter1_121_229_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_121_229_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_121_229_Closed_Text.style.display='none'; Codehighlighter1_121_229_Open_Image.style.display='inline'; Codehighlighter1_121_229_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_121_229_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cppblog.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_121_229_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_ftDef.CreatePointFont(</SPAN><SPAN style="COLOR: #000000">90</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">宋体</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_clrDef</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">RGB(</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0xff</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_clrHover</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">RGB(</SPAN><SPAN style="COLOR: #000000">0xff</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_bHover</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">FALSE;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>BEGIN_MESSAGE_MAP(CLinkStatic,&nbsp;CWnd)<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">{{AFX_MSG_MAP(CLinkStatic)</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;ON_WM_MOUSEMOVE()<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ON_WM_PAINT()<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ON_WM_LBUTTONDOWN()<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">}}AFX_MSG_MAP</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">END_MESSAGE_MAP()<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_390_467_Open_Image onclick="this.style.display='none'; Codehighlighter1_390_467_Open_Text.style.display='none'; Codehighlighter1_390_467_Closed_Image.style.display='inline'; Codehighlighter1_390_467_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_390_467_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_390_467_Closed_Text.style.display='none'; Codehighlighter1_390_467_Open_Image.style.display='inline'; Codehighlighter1_390_467_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_390_467_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</SPAN><SPAN id=Codehighlighter1_390_467_Open_Text><SPAN style="COLOR: #808080">///////////////////////////////////////////////////////////////////////////</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #808080"></SPAN></SPAN><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;CLinkStatic&nbsp;message&nbsp;handlers</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;CLinkStatic::OnMouseMove(UINT&nbsp;nFlags,&nbsp;CPoint&nbsp;point)&nbsp;<BR><IMG id=Codehighlighter1_559_803_Open_Image onclick="this.style.display='none'; Codehighlighter1_559_803_Open_Text.style.display='none'; Codehighlighter1_559_803_Closed_Image.style.display='inline'; Codehighlighter1_559_803_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_559_803_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_559_803_Closed_Text.style.display='none'; Codehighlighter1_559_803_Open_Image.style.display='inline'; Codehighlighter1_559_803_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_559_803_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cppblog.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_559_803_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CWnd::OnMouseMove(nFlags,&nbsp;point);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CRect&nbsp;rt;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;GetClientRect(</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">rt);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">rt.PtInRect(point))<BR><IMG id=Codehighlighter1_657_698_Open_Image onclick="this.style.display='none'; Codehighlighter1_657_698_Open_Text.style.display='none'; Codehighlighter1_657_698_Closed_Image.style.display='inline'; Codehighlighter1_657_698_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_657_698_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_657_698_Closed_Text.style.display='none'; Codehighlighter1_657_698_Open_Image.style.display='inline'; Codehighlighter1_657_698_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_657_698_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cppblog.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_657_698_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReleaseCapture();<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_bHover</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">FALSE;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">else</SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_707_785_Open_Image onclick="this.style.display='none'; Codehighlighter1_707_785_Open_Text.style.display='none'; Codehighlighter1_707_785_Closed_Image.style.display='inline'; Codehighlighter1_707_785_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_707_785_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_707_785_Closed_Text.style.display='none'; Codehighlighter1_707_785_Open_Image.style.display='inline'; Codehighlighter1_707_785_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_707_785_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cppblog.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_707_785_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCapture();<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_bHover</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">TRUE;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;::SetCursor(LoadCursor(NULL,IDC_HAND));<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Invalidate();<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;CLinkStatic::OnPaint()<BR><IMG id=Codehighlighter1_834_1126_Open_Image onclick="this.style.display='none'; Codehighlighter1_834_1126_Open_Text.style.display='none'; Codehighlighter1_834_1126_Closed_Image.style.display='inline'; Codehighlighter1_834_1126_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_834_1126_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_834_1126_Closed_Text.style.display='none'; Codehighlighter1_834_1126_Open_Image.style.display='inline'; Codehighlighter1_834_1126_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_834_1126_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cppblog.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_834_1126_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CPaintDC&nbsp;dc(</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">);&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;device&nbsp;context&nbsp;for&nbsp;painting</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;CFont&nbsp;</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">pOldFont</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">dc.SelectObject(</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">m_ftDef);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CRect&nbsp;rt;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;GetClientRect(</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">rt);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;dc.SetTextColor(m_bHover</SPAN><SPAN style="COLOR: #000000">?</SPAN><SPAN style="COLOR: #000000">m_clrHover:m_clrDef);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;dc.SetBkMode(TRANSPARENT);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;dc.DrawText(m_csTitle,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">rt,DT_SINGLELINE</SPAN><SPAN style="COLOR: #000000">|</SPAN><SPAN style="COLOR: #000000">DT_VCENTER);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;dc.SelectObject(pOldFont);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;CLinkStatic::SetUrl(CString&nbsp;csUrl)<BR><IMG id=Codehighlighter1_1169_1187_Open_Image onclick="this.style.display='none'; Codehighlighter1_1169_1187_Open_Text.style.display='none'; Codehighlighter1_1169_1187_Closed_Image.style.display='inline'; Codehighlighter1_1169_1187_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1169_1187_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1169_1187_Closed_Text.style.display='none'; Codehighlighter1_1169_1187_Open_Image.style.display='inline'; Codehighlighter1_1169_1187_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_1169_1187_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cppblog.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1169_1187_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_csUrl</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">csUrl;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;CLinkStatic::OnLButtonDown(UINT&nbsp;nFlags,&nbsp;CPoint&nbsp;point)&nbsp;<BR><IMG id=Codehighlighter1_1250_1427_Open_Image onclick="this.style.display='none'; Codehighlighter1_1250_1427_Open_Text.style.display='none'; Codehighlighter1_1250_1427_Closed_Image.style.display='inline'; Codehighlighter1_1250_1427_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1250_1427_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1250_1427_Closed_Text.style.display='none'; Codehighlighter1_1250_1427_Open_Image.style.display='inline'; Codehighlighter1_1250_1427_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_1250_1427_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cppblog.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1250_1427_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CWnd::OnLButtonDown(nFlags,&nbsp;point);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">(m_csUrl.IsEmpty())</SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ShellExecute(NULL,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">open</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,m_csUrl,NULL,NULL,SW_SHOW);<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ReleaseCapture();<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_bHover</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">FALSE;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Invalidate();<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_1495_1513_Open_Image onclick="this.style.display='none'; Codehighlighter1_1495_1513_Open_Text.style.display='none'; Codehighlighter1_1495_1513_Closed_Image.style.display='inline'; Codehighlighter1_1495_1513_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1495_1513_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1495_1513_Closed_Text.style.display='none'; Codehighlighter1_1495_1513_Open_Image.style.display='inline'; Codehighlighter1_1495_1513_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top>BOOL&nbsp;CLinkStatic::Create(CString&nbsp;csTitle,&nbsp;CWnd&nbsp;</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">pParant,&nbsp;CRect&nbsp;rt</SPAN><SPAN id=Codehighlighter1_1495_1513_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</SPAN><SPAN id=Codehighlighter1_1495_1513_Open_Text><SPAN style="COLOR: #008000">/*</SPAN><SPAN style="COLOR: #008000">=CRect(0,0,0,0)</SPAN><SPAN style="COLOR: #008000">*/</SPAN></SPAN><SPAN style="COLOR: #000000">)<BR><IMG id=Codehighlighter1_1516_1642_Open_Image onclick="this.style.display='none'; Codehighlighter1_1516_1642_Open_Text.style.display='none'; Codehighlighter1_1516_1642_Closed_Image.style.display='inline'; Codehighlighter1_1516_1642_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1516_1642_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1516_1642_Closed_Text.style.display='none'; Codehighlighter1_1516_1642_Open_Image.style.display='inline'; Codehighlighter1_1516_1642_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_1516_1642_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cppblog.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1516_1642_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">(CWnd::Create(NULL,NULL,WS_CHILD</SPAN><SPAN style="COLOR: #000000">|</SPAN><SPAN style="COLOR: #000000">WS_VISIBLE,rt,pParant,</SPAN><SPAN style="COLOR: #000000">0xffff</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">==</SPAN><SPAN style="COLOR: #000000">FALSE)<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000">&nbsp;FALSE;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_csTitle</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">csTitle;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000">&nbsp;TRUE;<BR><IMG src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN></DIV></FONT></FONT><img src ="http://www.cppblog.com/williamlpz/aggbug/3412.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/williamlpz/" target="_blank">阿L</a> 2006-02-22 15:50 <a href="http://www.cppblog.com/williamlpz/archive/2006/02/22/3412.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>