⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 在任意的开发语言的richedit控件中,插入gif动画 - 知秋一叶~专栏 - csdnblog.htm

📁 DynamicGif 在任意的开发语言的RichEdit控件中
💻 HTM
📖 第 1 页 / 共 5 页
字号:
            labels[i].innerHTML = text;            return;        }    }}//]]></SCRIPT>

<SCRIPT 
src="在任意的开发语言的RichEdit控件中,插入GIF动画 - 知秋一叶~专栏 - CSDNBlog.files/WebResource.axd" 
type=text/javascript></SCRIPT>

<SCRIPT type=text/javascript>
<!--
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
return true;
}
// -->
</SCRIPT>
 
<DIV id=top>
<DIV>
<TABLE>
  <TBODY>
  <TR>
    <TD class=HeaderTitles>
      <H1><A class=headermaintitle id=Header1_HeaderTitle 
      href="http://blog.csdn.net/kql01/">知秋一叶~专栏</A></H1>
      <P id=tagline>结伴行,千山也定能踏过</P></TD></TR></TBODY></TABLE></DIV>
<DIV class=HeaderBar>
<TABLE class=HeaderBar id=HeaderBar>
  <TBODY>
  <TR>
    <TD class=HeaderBarTab noWrap>&nbsp; <A href="http://www.csdn.net/" 
      target=_blank>CSDN</A>&nbsp;|&nbsp; <A href="http://community.csdn.net/" 
      target=_blank>社区</A>&nbsp;|&nbsp; <A href="http://dev.csdn.net/" 
      target=_blank>技术中心</A>&nbsp;|&nbsp; <A id=Header1_MyLinks1_HomeLink 
      title=到聚合站点 href="http://blog.csdn.net/" 
      target=_blank>BLOG首页</A>&nbsp;|&nbsp; <A id=Header1_MyLinks1_PersonalHome 
      title="访问 知秋一叶~专栏" href="http://blog.csdn.net/kql01/" 
      target=_blank>我的首页</A>&nbsp;|&nbsp; <A id=Header1_MyLinks1_PersonalResume 
      href="http://job.csdn.net/resumes/kql01.aspx">个人档案</A>&nbsp;|&nbsp; <A 
      id=Header1_MyLinks1_ContactLink accessKey=9 
      href="http://blog.csdn.net/kql01/contact.aspx">联系作者</A>&nbsp;|&nbsp; <A 
      id=Header1_MyLinks1_Syndication 
      href="http://blog.csdn.net/kql01/Rss.aspx">聚合</A> <A class=XMLLink 
      id=Header1_MyLinks1_XMLLink 
      href="http://blog.csdn.net/kql01/Rss.aspx"><IMG 
      src="在任意的开发语言的RichEdit控件中,插入GIF动画 - 知秋一叶~专栏 - CSDNBlog.files/xml.gif" 
      border=0></A>&nbsp;|&nbsp; <A id=Header1_MyLinks1_HyperLink1 
      href="http://search.csdn.net/search_blog.asp" 
      target=_blank>搜索</A>&nbsp;|&nbsp; <A id=Header1_MyLinks1_Admin 
      href="http://writeblog.csdn.net/">登录</A> <IMG id=Header1_BlueTab 
      src="在任意的开发语言的RichEdit控件中,插入GIF动画 - 知秋一叶~专栏 - CSDNBlog.files/BlueTabRight.jpg" 
      align=absMiddle border=0> </TD>
    <TD class=HeaderBarTabBack noWrap width="100%">
      <DIV class=BlogStatsBar>
      <TABLE class=BlogStatsBar>
        <TBODY>
        <TR>
          <TD width="100%"></TD>
          <TD class=BlogStatsBar noWrap>&nbsp; 17篇原创: 0篇翻译: 0篇转载: 11394次点击: 
            24个评论: 0个Trackbacks 
</TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE></DIV></DIV>
<DIV id=leftmenu>
<H3>公告</H3>
<DIV align=center><A href="http://www.amazingcounters.com/" target=_top><IMG 
alt="Web Counters" 
src="在任意的开发语言的RichEdit控件中,插入GIF动画 - 知秋一叶~专栏 - CSDNBlog.files/counter.png" 
border=0></A><BR><SMALL><A 
href="http://www.bestonlinecoupons.com/coupons/amazon.asp" target=_top><FONT 
color=#999999>Amazon.com</FONT></A> <A 
href="http://www.bestonlinecoupons.com/coupon/books.asp" target=_top><FONT 
color=#999999>Discount Books</FONT></A></SMALL></DIV>
<HR>
<IMG 
src="在任意的开发语言的RichEdit控件中,插入GIF动画 - 知秋一叶~专栏 - CSDNBlog.files/o_idg_butt.gif"> 
</IMG><IMG 
src="在任意的开发语言的RichEdit控件中,插入GIF动画 - 知秋一叶~专栏 - CSDNBlog.files/o_idg_butt.gif"> 
</IMG>
<HR>
<A title=用狗狗订阅 
href="http://www.gougou.com/sub/http://blog.csdn.net/kql01/rss.aspx" 
target=_blank><IMG 
src="在任意的开发语言的RichEdit控件中,插入GIF动画 - 知秋一叶~专栏 - CSDNBlog.files/icon_blank.gif" 
border=0></A> 
<H3 class=listtitle>文章</H3>
<UL class=list>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/75277.aspx">C/C++</A><A 
  href="http://blog.csdn.net/kql01/category/75277.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/75276.aspx">MFC/ATL/WTL</A><A 
  href="http://blog.csdn.net/kql01/category/75276.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/75283.aspx">Python/wxPython</A><A 
  href="http://blog.csdn.net/kql01/category/75283.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/77438.aspx">工具软件</A><A 
  href="http://blog.csdn.net/kql01/category/77438.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/75282.aspx">内核驱动</A><A 
  href="http://blog.csdn.net/kql01/category/75282.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/75356.aspx">嵌入式系统</A><A 
  href="http://blog.csdn.net/kql01/category/75356.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/75278.aspx">数据结构/算法</A><A 
  href="http://blog.csdn.net/kql01/category/75278.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/75280.aspx">数据压缩</A><A 
  href="http://blog.csdn.net/kql01/category/75280.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/75281.aspx">网络安全</A><A 
  href="http://blog.csdn.net/kql01/category/75281.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/81149.aspx">与我同行</A><A 
  href="http://blog.csdn.net/kql01/category/81149.aspx/rss">(RSS)</A></LI></UL>
<H3 class=listtitle>收藏</H3>
<UL class=list>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/103047.aspx">情感美文</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/category/92931.aspx">休闲异趣</A></LI></UL>
<H3 class=listtitle>相册</H3><!--category title-->
<UL class=list>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/Gallery/80999.aspx">2004-12文章图片</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/Gallery/91510.aspx">2005-1 文章图片</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/Gallery/162480.aspx">2005-12</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/Gallery/100218.aspx">2005-2文章图片</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/Gallery/105491.aspx">2005-3文章图片</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/kql01/Gallery/199921.aspx">2006-05 文章图</A></LI></UL>
<H3 class=listtitle>存档</H3>
<UL class=list>
  <LI><A href="http://blog.csdn.net/kql01/archive/2006/09.aspx">2006年09月(1)</A>
  <LI><A href="http://blog.csdn.net/kql01/archive/2006/05.aspx">2006年05月(1)</A>
  <LI><A href="http://blog.csdn.net/kql01/archive/2005/12.aspx">2005年12月(2)</A>
  <LI><A href="http://blog.csdn.net/kql01/archive/2005/10.aspx">2005年10月(2)</A>
  <LI><A href="http://blog.csdn.net/kql01/archive/2005/07.aspx">2005年07月(1)</A>
  <LI><A href="http://blog.csdn.net/kql01/archive/2005/03.aspx">2005年03月(2)</A>
  <LI><A href="http://blog.csdn.net/kql01/archive/2005/02.aspx">2005年02月(1)</A>
  <LI><A href="http://blog.csdn.net/kql01/archive/2005/01.aspx">2005年01月(3)</A>
  <LI><A 
  href="http://blog.csdn.net/kql01/archive/2004/12.aspx">2004年12月(4)</A></LI></UL><SPAN 
id=Anthem_RecentComments_ltlComments__><SPAN id=RecentComments_ltlComments>
<H3 class=listtitle>最近评论</H3>
<UL class=list>
  <LI class=listitem>zyf2000qwe:<A title=点击查看《回复:使用Gdiplus制作透明颜色的GIF图片》 
  href="http://blog.csdn.net/kql01/archive/2004/12/23/227103.aspx#528299">知秋兄,你好?我想做一個通訊軟件(一年時間)<BR>我想把FLASH插入到RICHEDIT<BR>可以合作,或者提供一下技術支持吧</A>
  <LI class=listitem>zyf2000qwe:<A title=点击查看《回复:永远有多远?--小计对RichEdit的研究》 
  href="http://blog.csdn.net/kql01/archive/2004/12/24/227788.aspx#528298">知秋兄,你好?我想做一個通訊軟件(一年時間)<BR>我想把FLASH插入到RICHEDIT<BR>可以合作,或者提供一下技術支持吧</A>
  <LI class=listitem>zyf2000qwe:<A title=点击查看《回复:使用Gdiplus制作透明颜色的GIF图片》 
  href="http://blog.csdn.net/kql01/archive/2004/12/23/227103.aspx#528296">知秋兄,你好?我想做一個通訊軟件(一年時間)<BR>我想把FLASH插入到RICHEDIT<BR>可以合作,或者提供一下技術支持吧</A>
  <LI class=listitem>zyf2000qwe:<A title=点击查看《回复:永远有多远?--小计对RichEdit的研究》 
  href="http://blog.csdn.net/kql01/archive/2004/12/24/227788.aspx#528295">知秋兄,你好?我想做一個通訊軟件(一年時間)<BR>我想把FLASH插入到RICHEDIT<BR>可以合作,或者提供一下技術支持吧</A>
  <LI class=listitem>zyf2000qwe:<A title=点击查看《回复:永远有多远?--小计对RichEdit的研究》 
  href="http://blog.csdn.net/kql01/archive/2004/12/24/227788.aspx#528294">知秋兄,你好?我想做一個通訊軟件(一年時間)<BR>我想把FLASH插入到RICHEDIT<BR>可以合作,或者提供一下技術支持吧</A></LI></UL></SPAN></SPAN><BR><BR></DIV>
<DIV id=main>
<DIV class=Tag>
<SCRIPT language=javascript 
src="在任意的开发语言的RichEdit控件中,插入GIF动画 - 知秋一叶~专栏 - CSDNBlog.files/urltag.aspx"></SCRIPT>

<DIV style="CLEAR: both"></DIV></DIV>
<SCRIPT>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</SCRIPT>

<DIV class=post>
<DIV class=postTitle><A 
href="http://blog.csdn.net/kql01/archive/2005/01/19/260148.aspx"><IMG height=13 
src="在任意的开发语言的RichEdit控件中,插入GIF动画 - 知秋一叶~专栏 - CSDNBlog.files/authorship.gif" 
width=15 border=0>&nbsp;在任意的开发语言的RichEdit控件中,插入GIF动画</A> </DIV>
<DIV class=postText>
<P>&nbsp;&nbsp;&nbsp; 
前一段时间写了DynamicGif控件,优化代码的时候,顺便把Enabled属性给删除掉了,没想到在VB中却出了问题,只好再把属性加上。另外在VB中调用的时候,发现背景不能够自动更新,导致后一帧图像和前一帧重叠。本想进一步研究一下VB的ActiveX的工作原理,可惜我是个VB盲,没办法了。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在RichEdit2.0版本中,对ActiveX控件接口的调用,改动比较大,因此增加Enabled属性后,在插入到2.0版的Richedit控件中,需要在InsertObject调用成功后,调用下面方法:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
lpDynamicGif-&gt;put_Enabled( VARIANT_TRUE 
);<BR>来允许在Richedit控件中显示。<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp; 
另外,在ATL对话框和MFC的对话框中,创建DynamicGif控件时,原理是完全不同的。在MFC中,创建的是无窗口控件,占用对话框的显示区域,这样有些GIF文件会导致对话框不停的刷屏,给人一种闪烁的感觉。在ATL的对话框中,创建了一个对应的窗口,GIF图片显示在新建的窗口中,这样就没有闪烁的感觉,显示也比较正常。因此,可以根据不同的需要,选择不同的创建方式。<BR>&nbsp;&nbsp;&nbsp;&nbsp;下面是如何在ATL/WTL对话框中使用控件的源代码:<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;CAxWindow&nbsp;dynAxWindow;<BR>&nbsp;&nbsp;&nbsp;&nbsp; dynAxWindow.m_hWnd 
= NULL;<BR>&nbsp;&nbsp;&nbsp; &nbsp;dynAxWindow.Attach( 
GetDlgItem(IDC_DYNAMICGIF1) );</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; HRESULT hr = dynAxWindow.QueryControl( 
&amp;m_spDynGif );<BR>&nbsp;&nbsp;&nbsp;&nbsp; if( hr == S_OK 
)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
m_spDynGif-&gt;LoadFromFile( CComBSTR(L"E:\\8.gif") 
);&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; 
dynAxWindow.Detach();<BR><STRONG>&nbsp;&nbsp;&nbsp; 
注:上述代码应该在VC7之后的编译环境编译,VC6中有资源泄漏的问题(ATL3.0的BUG)。</STRONG><BR>&nbsp;&nbsp;&nbsp;&nbsp;获取IDynamicGif接口后,就可以调用相关的方法了。<BR>&nbsp;&nbsp;&nbsp; 
另外,为了方便VB6用户使用,引出了两个函数,InsertGifToRicheditW/A,来支持直接将文件插入到RichEdit控件中,两个函数的原型如下:<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;STDAPI 
InsertGifToRicheditW( HWND hWnd, LPCWSTR lpszGifFile 
);<BR>&nbsp;&nbsp;&nbsp;&nbsp;STDAPI InsertGifToRicheditA( HWND hWnd, LPCSTR 
lpszGifFile );<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp; 
成功返回一个唯一的cookie标识控件,失败返回0。<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
这里为了限制CPU的使用率,限制GIF的大小最大为150*150,一个进程中最多创建50个对象(实际上超过50以后,CPU几乎就占用100%了)。<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
通过使用这两个函数,可以在任何可以使用动态连接库的语言中使用,比如Delphi、PB、C#等几乎任何开发WIN32的工具中,甚至WIN32中汇编。<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
在VC中使用的代码如下:&nbsp;</P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" 
align=left><SPAN lang=EN-US 
style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
typedef</SPAN><SPAN lang=EN-US 
style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"> 
HRESULT ( STDAPICALLTYPE *pfnInsertGifToRichedit_t)( HWND hWnd, BSTR lpszGifFile 
);
<P></P></SPAN>
<P></P>
<P></P>
<P></P>
<P></P>
<P></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" 
align=left><SPAN lang=EN-US 
style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><SPAN 
style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>HMODULE hDll = LoadLibrary( "dynamicgif.dll" );
<P></P></SPAN>
<P></P>
<P></P>
<P></P>
<P></P>
<P></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" 
align=left><SPAN lang=EN-US 
style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><SPAN 
style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>pfnInsertGifToRichedit_t pfnInsertGif = NULL;
<P></P></SPAN>
<P></P>
<P></P>
<P></P>
<P></P>
<P></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" 
align=left><SPAN lang=EN-US 
style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><SPAN 
style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>pfnInsertGif = (pfnInsertGifToRichedit_t)GetProcAddress( 
hDll,"InsertGifToRicheditW");
<P></P></SPAN>
<P></P>
<P></P>
<P></P>
<P></P>
<P></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" 
align=left><SPAN lang=EN-US 
style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><SPAN 
style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN><SPAN style="COLOR: blue">if</SPAN>( pfnInsertGif != NULL )
<P></P></SPAN>
<P></P>
<P></P>
<P></P>
<P></P>
<P></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" 
align=left><SPAN lang=EN-US 
style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><SPAN 
style="mso-tab-count: 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>pfnInsertGif( m_richEdit1.m_hWnd, CComBSTR( dlg.GetPathName() ) );
<P></P></SPAN>
<P></P>
<P></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -