﻿<?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++博客-小步慢跑-随笔分类-C++ </title><link>http://www.cppblog.com/zaccheo/category/19702.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 18 Sep 2012 19:07:14 GMT</lastBuildDate><pubDate>Tue, 18 Sep 2012 19:07:14 GMT</pubDate><ttl>60</ttl><item><title>richedit2.0 设置英文字符字体</title><link>http://www.cppblog.com/zaccheo/archive/2012/09/13/190499.html</link><dc:creator>zaccheo</dc:creator><author>zaccheo</author><pubDate>Thu, 13 Sep 2012 03:53:00 GMT</pubDate><guid>http://www.cppblog.com/zaccheo/archive/2012/09/13/190499.html</guid><wfw:comment>http://www.cppblog.com/zaccheo/comments/190499.html</wfw:comment><comments>http://www.cppblog.com/zaccheo/archive/2012/09/13/190499.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zaccheo/comments/commentRss/190499.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zaccheo/services/trackbacks/190499.html</trackback:ping><description><![CDATA[<p>richedit 2.0&nbsp;引入了新的一个特性 IMF_AUTOFONT。设置了这个属性后当键盘布局改变后richedit&nbsp;会自动的设置适合当前布局的字体和字符集。所以在richedit中调用</p>
<p>
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #000000; ">SendMessage(&nbsp;EM_SETCHARFORMAT,&nbsp;SCF_ALL,&nbsp;(LPARAM)</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">crf);</span></div>
</p>
<p>或会发现对中文字符设置的字体生效的，但是英文字符未生效。</p>
<p>可以去掉这个属性：</p>
<p>
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;去掉&nbsp;richedit2.0&nbsp;默认设置了的&nbsp;autofont&nbsp;</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">BOOL&nbsp;CNetRichEditCtrl::DisableAutoFont()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwLanOptions&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;SendMessage(EM_GETLANGOPTIONS,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(dwLanOptions</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">IMF_AUTOFONT)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwLanOptions&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;dwLanOptions</span><span style="color: #000000; ">&amp;~</span><span style="color: #000000; ">IMF_AUTOFONT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendMessage(EM_SETLANGOPTIONS,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,dwLanOptions);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;TRUE;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;FALSE;<br />
}</span></div>
</p>
<p><span style="color: #000000; "></span><span style="color: #000000; "><br />
</span></p>
<dl>
</dl>
<img src ="http://www.cppblog.com/zaccheo/aggbug/190499.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zaccheo/" target="_blank">zaccheo</a> 2012-09-13 11:53 <a href="http://www.cppblog.com/zaccheo/archive/2012/09/13/190499.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SonicUI 内部定时器实现分析</title><link>http://www.cppblog.com/zaccheo/archive/2012/08/29/188653.html</link><dc:creator>zaccheo</dc:creator><author>zaccheo</author><pubDate>Wed, 29 Aug 2012 09:42:00 GMT</pubDate><guid>http://www.cppblog.com/zaccheo/archive/2012/08/29/188653.html</guid><wfw:comment>http://www.cppblog.com/zaccheo/comments/188653.html</wfw:comment><comments>http://www.cppblog.com/zaccheo/archive/2012/08/29/188653.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zaccheo/comments/commentRss/188653.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zaccheo/services/trackbacks/188653.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: SonicUI中有一个内部定时器的概念(InternalTimer)，SonicUI中的动画效果都是使用的这个定时器。这个定时器实现的思路是很清晰的：WM_TIMER消息加定时轮询。 首先使用SonicUI的工程都有一个全局的CSonicUI类的实例。在这个类中有一个静态的成员变量HWND m_hWnd，它指向的是一个 "SonicWnd"的窗口类的窗口实例。此窗口类在CSoinicUI::Ini...&nbsp;&nbsp;<a href='http://www.cppblog.com/zaccheo/archive/2012/08/29/188653.html'>阅读全文</a><img src ="http://www.cppblog.com/zaccheo/aggbug/188653.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zaccheo/" target="_blank">zaccheo</a> 2012-08-29 17:42 <a href="http://www.cppblog.com/zaccheo/archive/2012/08/29/188653.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于 TimerQueue 的定时器封装类</title><link>http://www.cppblog.com/zaccheo/archive/2012/08/14/187190.html</link><dc:creator>zaccheo</dc:creator><author>zaccheo</author><pubDate>Tue, 14 Aug 2012 11:09:00 GMT</pubDate><guid>http://www.cppblog.com/zaccheo/archive/2012/08/14/187190.html</guid><wfw:comment>http://www.cppblog.com/zaccheo/comments/187190.html</wfw:comment><comments>http://www.cppblog.com/zaccheo/archive/2012/08/14/187190.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zaccheo/comments/commentRss/187190.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zaccheo/services/trackbacks/187190.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本来以为是很简单的事，没想到又牵涉出了线程池，APC，内核定时器对象一大堆没搞明白的知识。先把代码保存下。牵涉到的知识再慢慢消化。 主要使用了以下 API。这些API还是有不少的陷阱（注意点）的，《windows 核心编程》的第11章有详细的解释。     1: CreateTimerQueue   2: DeleteTimerQueueEx   3:&nbsp;    4: CreateTime...&nbsp;&nbsp;<a href='http://www.cppblog.com/zaccheo/archive/2012/08/14/187190.html'>阅读全文</a><img src ="http://www.cppblog.com/zaccheo/aggbug/187190.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zaccheo/" target="_blank">zaccheo</a> 2012-08-14 19:09 <a href="http://www.cppblog.com/zaccheo/archive/2012/08/14/187190.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>