﻿<?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>语源科技BlogJava-doneykoo [Ouditian]</title><link>http://www.blogjava.net/doneykoo/</link><description>DKzone- Ouditian Technology</description><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 13:24:45 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 13:24:45 GMT</pubDate><ttl>60</ttl><item><title>FireFox 5 Addons</title><link>http://www.blogjava.net/doneykoo/archive/2011/07/19/354632.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Tue, 19 Jul 2011 07:44:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2011/07/19/354632.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/354632.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2011/07/19/354632.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/354632.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/354632.html</trackback:ping><description><![CDATA[<div><br />https://addons.mozilla.org/en-US/firefox/addon/tab-mix-plus/</div><div>https://addons.mozilla.org/en-US/firefox/addon/firegestures/</div>&nbsp;&nbsp;&nbsp;&nbsp;<div>http://code.google.com/p/gmarks/downloads/detail?name=GMarks-1.0.3.xpi&amp;can=2&amp;q=<br /><div>http://www.firefox.net.cn/forum/viewtopic.php?t=29894</div></div><img src ="http://www.blogjava.net/doneykoo/aggbug/354632.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2011-07-19 15:44 <a href="http://www.blogjava.net/doneykoo/archive/2011/07/19/354632.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[fw] as3优化总结</title><link>http://www.blogjava.net/doneykoo/archive/2011/06/25/352995.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Sat, 25 Jun 2011 05:03:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2011/06/25/352995.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/352995.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2011/06/25/352995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/352995.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/352995.html</trackback:ping><description><![CDATA[<div> as3优化总结</div><br />有意思的一条：<br /><br /><div><strong>10) 寻找局部变量(this方法同with方法比较)</strong><br /> 局部变量的定位方法很多。我们发现用with比用this更加有优势！</div><img src ="http://www.blogjava.net/doneykoo/aggbug/352995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2011-06-25 13:03 <a href="http://www.blogjava.net/doneykoo/archive/2011/06/25/352995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>20110318</title><link>http://www.blogjava.net/doneykoo/archive/2011/03/18/346538.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Fri, 18 Mar 2011 07:06:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2011/03/18/346538.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/346538.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2011/03/18/346538.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/346538.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/346538.html</trackback:ping><description><![CDATA[今天项目Milestone3的review<br />
总体各方面来说还挺满意<br />
<br />
<img src ="http://www.blogjava.net/doneykoo/aggbug/346538.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2011-03-18 15:06 <a href="http://www.blogjava.net/doneykoo/archive/2011/03/18/346538.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WowDLLChecker  (c) Ouditian  [rev.20100921] ver 1.0.3.22</title><link>http://www.blogjava.net/doneykoo/archive/2010/02/02/311647.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Tue, 02 Feb 2010 03:25:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2010/02/02/311647.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/311647.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2010/02/02/311647.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/311647.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/311647.html</trackback:ping><description><![CDATA[<span id="postcontent0">最近不少wower包括我自己都碰到了wow目录下出现危险dll文件而可能遭木马窃取资料的情况，<br />
做了个小工具，与大家分享，欢迎交流意见建议。&nbsp; &nbsp;<br />
<span style="display: none;"><br />
[::艾泽拉斯国家地理 BBS.NGACN.CC::]<br />
</span><br />
<del class="gray"> 在对于那些dll文件的最后修改时间与标准版本最后修改时间比较，我不太清楚大家手头的dll文件如何，  </del>希望大家能把使用中出现的情况反馈给我，在此感谢。<br />
<br />
在您wow前、wow时打开WowDLLChecker，它将帮助您找出并保持检测扫描：<br />
wow.exe和目录下DLL等<span class="indigo">被修改过的文件</span>、<span class="indigo">危险的多余DLL文件</span>、以及<span class="indigo">缺失的文件</span>。<br />
不用担心有dll文件属性是只读或隐藏或系统，工具是会扫描到的。<br />
同时还为你检查是否有wow,laucher的映像劫持。<br />
<br />
使用：放置到你的wow文件夹并执行。<br />
<br />
PS.  此程序无任何对网络的访问。 <br />
</span><span id="postcontent0" class="postcontent ubbcode">这个链接应该可以吧&nbsp; &nbsp;&nbsp; &nbsp;<br />
</span><span id="postcontent0" class="postcontent ubbcode">猛击此处下载&#8594; [ </span><a href="http://www.blogjava.net/Files/doneykoo/WowDLLChecker_20100921_1.0.3.22.rar">WowDLLChecker_20100921_1.0.3.22.rar</a><span id="postcontent0" class="postcontent ubbcode">] 59.3&nbsp;&nbsp; KB<br />
&nbsp; &nbsp;<br />
<br />
<span class="indigo"> 缺少.Net库的童鞋请下载<span class="silver">[</span> <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;displaylang=zh-cn" target="_blank"><span class="urltip silver">http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;displaylang=zh-cn </span>Microsoft .NET Framework Version 2.0 组件包(x86)</a> <span class="silver">]</span></span></span><span id="postcontent0"><br />
<br />
<br />
</span><span id="postcontent0" class="postcontent ubbcode">== Log ==<br />
20091103 1.0.2.0 new features:&nbsp; MD5 check;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tool self check result;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Wow.exe and Launcher.exe check;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Colorized rows to indicate file status.<br />
20091104 1.0.2.1 new features:&nbsp; Changed last modified time judgement;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configuration of keep checking;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fixed language setting;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Minimized tray has a balloon tooltip now.<br />
20091113 1.0.2.2 new features:&nbsp; Disabled the judgement for last modified time;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fixed the colorize process.<br />
20091114 1.0.2.3 new features:&nbsp; Looped in repair.exe;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Indicates wow client version the tool is based on;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Added suggestion message;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Adjusted the colorize process.<br />
20091208 1.0.2.4 new features:&nbsp; Now concerns some DLLs of vc7 env;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Prepare checking system for multi regions.<br />
20100202 1.0.3.0 new features:&nbsp; Now supports examination for WOW.TW;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Supports region selection between: zhCN, zhTW;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Supports language selection between: simplified Chinese, traditional Chinese, english;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Auto check your region for first running this app;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Auto saves/loads your changed settings.<br />
20100915 1.0.3.20 Updated for CWOW WLK.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sorry that in this version, TW info is wrong.<br />
20100916 1.0.3.21 Bug fix.<br />
20100921 1.0.3.22 Enhanced security check with MD5 and Exe Dll FileVersion.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Compatible with different versions of msvc dlls.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Info of zhCN 3.2.2.12484 added.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Info of zhTW 3.3.5.12340 added.<br />
<br />
<br />
<br />
<br />
WowDLLChecker.exe<br />
Size: 69645 bytes<br />
File Version: 1.0.3.22<br />
Modified: Tuesday, September 21, 2010, 11:03:05<br />
MD5: 9ADC90F7AA797F19C76EF5AF0D8AD74F<br />
SHA1: EAC9FA7ABA22534D2E9CEEE87C8E37AA281E9CD2<br />
CRC32: 43D7A492<br />
<br />
<br />
<br />
WowDLLChecker_20100921_1.0.3.22.rar<br />
Size: 61572 bytes<br />
Modified: Tuesday, September 21, 2010, 11:05:47<br />
MD5: E15F7C16B908A2BE4FC3E80B9ED1694B<br />
SHA1: 3D736739890938C9AF85A0D4B6914D024613D0CE<br />
CRC32: CA778324<br />
<br />
<br />
</span><span id="postcontent0"><br />
<br />
LOG.<br />
--DONE <br />
多余非官方文件&#8730;<br />
文件大小比较&#8730;<br />
最后修改时间比较&#8730;<br />
MD5&#8730;<br />
IFEO of wow.exe, launcher.exe&#8730;<br />
支持台服&#8730;<br />
支持多语言&#8730;<br />
自检测结果&#8730;<br />
<br />
--TODO<br />
被加载DLL</span>&nbsp;
<img src ="http://www.blogjava.net/doneykoo/aggbug/311647.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2010-02-02 11:25 <a href="http://www.blogjava.net/doneykoo/archive/2010/02/02/311647.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Notes of Learning OpenGL Programming Guide [3]</title><link>http://www.blogjava.net/doneykoo/archive/2010/01/31/311384.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Sun, 31 Jan 2010 06:22:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2010/01/31/311384.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/311384.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2010/01/31/311384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/311384.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/311384.html</trackback:ping><description><![CDATA[<br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;"><span style="font-family: Arial;"><span style="font-family: Lucida Console;"><span style="font-family: Lucida Console;"><span style="font-family: Courier;"><span style="color: #008080;"><span style="font-family: Lucida Console;"><span style="color: #008080;">&nbsp;&nbsp;1</span>&nbsp;<span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;#pragma&nbsp;comment(linker,&nbsp;"/subsystem:\"windows\"&nbsp;/entry:\"mainCRTStartup\"")</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;2</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">GL\glut.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iostream</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;GLfloat&nbsp;fSpin&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;GLfloat&nbsp;fClearBlue&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0.2</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;&nbsp;8</span>&nbsp;<span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;bRotating&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;10</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;display(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">&nbsp;11</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;clear</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">&nbsp;13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glClear(GL_COLOR_BUFFER_BIT);<br />
</span><span style="color: #008080;">&nbsp;14</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glPushMatrix();<br />
</span><span style="color: #008080;">&nbsp;16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glRotatef(</span><span style="color: #000000;">-</span><span style="color: #000000;">fSpin,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glColor3f(</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glRectf(</span><span style="color: #000000;">-</span><span style="color: #000000;">25.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">25.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">25.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">25.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;19</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glColor3f(</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;21</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">&nbsp;23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">16</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">18</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">16</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">18</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">16</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">16</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">&nbsp;28</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">&nbsp;30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;34</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">&nbsp;35</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">&nbsp;37</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;38</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;39</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;40</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">&nbsp;42</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;43</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">&nbsp;44</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;45</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">18</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">16</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;46</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">13</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">21</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;47</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">8</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">&nbsp;49</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;50</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">&nbsp;51</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;52</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">18</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">16</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;53</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">-</span><span style="color: #000000;">13</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">21</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;54</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glVertex3i(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">8</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;55</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">&nbsp;56</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;57</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glPopMatrix();<br />
</span><span style="color: #008080;">&nbsp;58</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;59</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutSwapBuffers();<br />
</span><span style="color: #008080;">&nbsp;60</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">&nbsp;61</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;62</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;spinDisplay(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">&nbsp;63</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;64</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;change&nbsp;the&nbsp;params&nbsp;for&nbsp;displaying&nbsp;the&nbsp;squre</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">&nbsp;65</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;fSpin&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0.05</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;66</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(fSpin&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">360.0</span><span style="color: #000000;">)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;67</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fSpin&nbsp;</span><span style="color: #000000;">-=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">360.0</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;68</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">&nbsp;69</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutPostRedisplay();&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;70</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">&nbsp;71</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;72</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;reshape(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;w,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;h)<br />
</span><span style="color: #008080;">&nbsp;73</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;74</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glViewport(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;(GLsizei)&nbsp;w,&nbsp;(GLsizei)&nbsp;h);<br />
</span><span style="color: #008080;">&nbsp;75</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glMatrixMode(GL_PROJECTION);<br />
</span><span style="color: #008080;">&nbsp;76</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glLoadIdentity();<br />
</span><span style="color: #008080;">&nbsp;77</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glOrtho(</span><span style="color: #000000;">-</span><span style="color: #000000;">50.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">50.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">50.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">50.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;78</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glMatrixMode(GL_MODELVIEW);<br />
</span><span style="color: #008080;">&nbsp;79</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glLoadIdentity();<br />
</span><span style="color: #008080;">&nbsp;80</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">&nbsp;81</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;82</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;mouse(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;button,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;state,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;x,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;y)<br />
</span><span style="color: #008080;">&nbsp;83</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;84</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">switch</span><span style="color: #000000;">(button)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;85</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">case</span><span style="color: #000000;">&nbsp;GLUT_LEFT_BUTTON:<br />
</span><span style="color: #008080;">&nbsp;86</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;start&nbsp;or&nbsp;stop&nbsp;the&nbsp;rotating&nbsp;square</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">&nbsp;87</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(state&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;GLUT_DOWN&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">!</span><span style="color: #000000;">bRotating)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;88</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bRotating&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;89</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutIdleFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">spinDisplay);<br />
</span><span style="color: #008080;">&nbsp;90</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">&nbsp;91</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(state&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;GLUT_DOWN&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;bRotating)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;92</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bRotating&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">&nbsp;93</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutIdleFunc(NULL);<br />
</span><span style="color: #008080;">&nbsp;94</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;((GLint)(fSpin</span><span style="color: #000000;">+</span><span style="color: #000000;">0.5</span><span style="color: #000000;">)</span><span style="color: #000000;">%</span><span style="color: #000000;">90</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;95</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fClearBlue&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;fClearBlue;<br />
</span><span style="color: #008080;">&nbsp;96</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glClearColor(</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;fClearBlue,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;97</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">&nbsp;98</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">&nbsp;99</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">100</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">case</span><span style="color: #000000;">&nbsp;GLUT_RIGHT_BUTTON:<br />
</span><span style="color: #008080;">101</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">102</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">default</span><span style="color: #000000;">:<br />
</span><span style="color: #008080;">103</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">104</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">105</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">106</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">107</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;init(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">108</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">109</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;select&nbsp;the&nbsp;clearing&nbsp;color</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">110</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glClearColor(</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;fClearBlue,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">111</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">112</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glShadeModel(GL_FLAT);<br />
</span><span style="color: #008080;">113</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">114</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">115</span>&nbsp;<span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;idle(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">116</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">117</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(glutGetWindow()&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br />
</span><span style="color: #008080;">118</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">119</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">120</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">121</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">122</span>&nbsp;<span style="color: #008000;">/*</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">123</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;Declare&nbsp;display&nbsp;mode,&nbsp;window&nbsp;size,&nbsp;position,&nbsp;<br />
</span><span style="color: #008080;">124</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;open&nbsp;a&nbsp;window&nbsp;titled,<br />
</span><span style="color: #008080;">125</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;call&nbsp;init&nbsp;routines,<br />
</span><span style="color: #008080;">126</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;register&nbsp;display,&nbsp;reshape,&nbsp;mouse&nbsp;callback&nbsp;function<br />
</span><span style="color: #008080;">127</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;enter&nbsp;main&nbsp;loop<br />
</span><span style="color: #008080;">128</span>&nbsp;<span style="color: #008000;">&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">129</span>&nbsp;<span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main(&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;argc,&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;argv[]&nbsp;)<br />
</span><span style="color: #008080;">130</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">131</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutInit(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">argc,&nbsp;argv);<br />
</span><span style="color: #008080;">132</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">133</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;GLUT_DOUBLE&nbsp;-&nbsp;double&nbsp;buffer</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">134</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutInitDisplayMode(GLUT_RGB&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;GLUT_DOUBLE);<br />
</span><span style="color: #008080;">135</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutInitWindowPosition(</span><span style="color: #000000;">100</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">100</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">136</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutInitWindowSize(</span><span style="color: #000000;">400</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">400</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">137</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutCreateWindow(</span><span style="color: #000000;">"</span><span style="color: #000000;">DoNeY's&nbsp;first&nbsp;OpenGL&nbsp;app</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">138</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">139</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;init();<br />
</span><span style="color: #008080;">140</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">141</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutDisplayFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">display);<br />
</span><span style="color: #008080;">142</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutReshapeFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">reshape);<br />
</span><span style="color: #008080;">143</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutMouseFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">mouse);<br />
</span><span style="color: #008080;">144</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutIdleFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">idle);<br />
</span><span style="color: #008080;">145</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">146</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;glutMainLoop();<br />
</span><span style="color: #008080;">147</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">148</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">149</span>&nbsp;</span></span></span></span></span></span></span></div>
<br />
<br />
<br />
<img src ="http://www.blogjava.net/doneykoo/aggbug/311384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2010-01-31 14:22 <a href="http://www.blogjava.net/doneykoo/archive/2010/01/31/311384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sample OpenGL project in VS2008</title><link>http://www.blogjava.net/doneykoo/archive/2010/01/27/310937.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Wed, 27 Jan 2010 06:25:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2010/01/27/310937.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/310937.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2010/01/27/310937.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/310937.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/310937.html</trackback:ping><description><![CDATA[<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;#include&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">GL\glut.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Render()<br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glClearColor(</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glClear(GL_COLOR_BUFFER_BIT);<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glColor3f(</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.5</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.5</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #000000;">9</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glOrtho(</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1.0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">10</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glBegin(GL_POLYGON);<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">11</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">12</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glVertex3f(</span><span style="color: #000000;">0.5</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.75</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">13</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glVertex3f(</span><span style="color: #000000;">0.8</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.25</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">14</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glVertex3f(</span><span style="color: #000000;">0.2</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.25</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">15</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">16</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glEnd();<br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">17</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">18</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">glRectf(-0.5f,-0.5f,0.5f,0.5f);</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">19</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">20</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glFlush();<br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">21</span><span style="color: #000000;">&nbsp;}<br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">22</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">23</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main(&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;argc,&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;argv[]&nbsp;)<br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">24</span><span style="color: #000000;">&nbsp;{<br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">25</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutInit(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">argc,&nbsp;argv);<br />
</span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">26</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutInitDisplayMode(GLUT_RGB&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;GLUT_SINGLE);<br />
</span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">27</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutInitWindowPosition(</span><span style="color: #000000;">100</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">100</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">28</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutInitWindowSize(</span><span style="color: #000000;">400</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">400</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">29</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutCreateWindow(</span><span style="color: #000000;">"</span><span style="color: #000000;">DoNeY's&nbsp;first&nbsp;OpenGL&nbsp;app</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;">30</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutDisplayFunc(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">Render);<br />
</span><span style="color: #008080;">31</span>&nbsp;<span style="color: #000000;">31</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glutMainLoop();<br />
</span><span style="color: #008080;">32</span>&nbsp;<span style="color: #000000;">32</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">33</span>&nbsp;<span style="color: #000000;">33</span><span style="color: #000000;">&nbsp;}<br />
</span><span style="color: #008080;">34</span>&nbsp;<span style="color: #000000;">34</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">35</span>&nbsp;</div>
<br />
<img src ="http://www.blogjava.net/doneykoo/aggbug/310937.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2010-01-27 14:25 <a href="http://www.blogjava.net/doneykoo/archive/2010/01/27/310937.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于病毒与木马加载自己以及映像劫持</title><link>http://www.blogjava.net/doneykoo/archive/2009/10/21/299150.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Wed, 21 Oct 2009 02:01:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2009/10/21/299150.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/299150.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2009/10/21/299150.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/299150.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/299150.html</trackback:ping><description><![CDATA[<p>　　大部分的病毒和木马都是通过加载系统启动项来运行的，也有一些是注册成为系统服务来启动，他们主要通过修改注册表来实现这个目的，主要有以下几个键值：</p>
<p>　　HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsCurrent\Version\Run</p>
<p>　　HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs</p>
<p>　　HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify</p>
<p>　　HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsCurrent\Version\RunOnce</p>
<p>　　HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsCurrent\Version\RunServicesOnce</p>
<p>　　但是与一般的木马，病毒不同的是，就有一些病毒偏偏不通过这些来加载自己，不随着系统的启动运行。木马病毒的作者抓住了一些用户的心理，等到用
户运行某个特定的程序的时候它才运行。因为一般的用户，只要发觉自己的机子中了病毒，首先要察看的就是系统的加载项，很少有人会想到<strong style="color: black; background-color: #ffff66;">映像</strong><strong style="color: black; background-color: #a0ffff;">劫持</strong>，这也是这种病毒高明的地方。</p>
<p>　　<strong style="color: black; background-color: #ffff66;">映像</strong><strong style="color: black; background-color: #a0ffff;">劫持</strong>病毒主要通过修改注册表中的</p>
<p>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\</p>
<p>项来<strong style="color: black; background-color: #a0ffff;">劫持</strong>正常的程序，比如有一个病毒 vires.exe 要<strong style="color: black; background-color: #a0ffff;">劫持</strong>qq程序，它会在上面注册表的位置新建一个qq.exe项，再在这个项下面新建一个字符串的键　debugger把其值改为C:\WINDOWS\SYSTEM32\VIRES.EXE(这里是病毒藏身的目录)即可。</p>
<img src ="http://www.blogjava.net/doneykoo/aggbug/299150.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2009-10-21 10:01 <a href="http://www.blogjava.net/doneykoo/archive/2009/10/21/299150.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WowDLLChecker_20091208_1.0.2.4</title><link>http://www.blogjava.net/doneykoo/archive/2009/10/19/298838.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Mon, 19 Oct 2009 05:56:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2009/10/19/298838.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/298838.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2009/10/19/298838.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/298838.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/298838.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: WowDLLChecker  (c) Ouditian  [rev.20091208] ver 1.0.2.4 for CWOW 3.1.3<br>Put this checker into your World of Warcraft directoy and execute it to check dangerous DLLs.<br><br><br>WowDLLChecker.exe&nbsp;&nbsp;<a href='http://www.blogjava.net/doneykoo/archive/2009/10/19/298838.html'>阅读全文</a><img src ="http://www.blogjava.net/doneykoo/aggbug/298838.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2009-10-19 13:56 <a href="http://www.blogjava.net/doneykoo/archive/2009/10/19/298838.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Where is Form's Loaded event?   [FW]</title><link>http://www.blogjava.net/doneykoo/archive/2009/10/16/298505.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Fri, 16 Oct 2009 01:48:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2009/10/16/298505.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/298505.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2009/10/16/298505.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/298505.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/298505.html</trackback:ping><description><![CDATA[<h2>
Where is Form's Loaded event?
</h2>
<p>[FW]<em><a target="_blank" href="http://weblogs.asp.net/kennykerr/archive/2004/11/26/where-is-form-s-loaded-event.aspx">http://weblogs.asp.net/kennykerr/archive/2004/11/26/where-is-form-s-loaded-event.aspx</a></em><br />
</p>
<p>Wow, it&#8217;s been a while since I last posted something here. We&#8217;ve recently <a href="http://blogs.kennyandkarin.com/kenny/category/33.aspx">moved to BC</a> so I&#8217;ve been pretty distracted. I hope to be able to post more regularly in the coming weeks.</p>
<p>This is a bit off-topic for me but here goes. </p>
<p>Recently I needed to run some code right after a form is displayed for the first time. The <a href="http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemWindowsFormsFormClassLoadTopic.asp">Form.Load</a>
event is handy for performing various tasks when a form is loading but
before it is displayed for the first time. Unfortunately there is no
corresponding Form.Loaded event to notify the application that the form
has actually loaded and is visible.</p>
<p>Fortunately it&#8217;s quite easy to pull it off without resorting to the <a href="http://msdn.microsoft.com/library/en-us/dllproc/base/waitforinputidle.asp">WaitForInputIdle</a> function. All you need to do is override Form&#8217;s <a href="http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemWindowsFormsFormClassOnLoadTopic.asp">OnLoad</a> method and add an event handler for the <a href="http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemWindowsFormsApplicationClassIdleTopic.asp">Application.Idle</a>
event. Since we only want to be notified a single time that the form is
loaded, we immediately remove the delegate in the event handler. You
can of course register the event handler earlier in the form or
application&#8217;s lifetime but I prefer to keep delegates registered for as
short a period as possible. </p>
<p>Here&#8217;s a simple example:</p>
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">override</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;OnLoad(EventArgs&nbsp;args)<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">base</span><span style="color: #000000;">.OnLoad(args);<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Application.Idle&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;EventHandler(OnLoaded);<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;OnLoaded(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;sender,<br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EventArgs&nbsp;args)<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Application.Idle&nbsp;</span><span style="color: #000000;">-=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;EventHandler(OnLoaded);<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;TODO:&nbsp;add&nbsp;relevant&nbsp;code&nbsp;here</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">15</span>&nbsp;</div>
<p>This
might be useful, for example, if you need to prompt the user (the
horror!) for something but would prefer the dialog box to appear in the
context of your application&#8217;s main window.</p>
<hr />
<p>&#169; 2004 Kenny Kerr</p>
<img src ="http://www.blogjava.net/doneykoo/aggbug/298505.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2009-10-16 09:48 <a href="http://www.blogjava.net/doneykoo/archive/2009/10/16/298505.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[share] 我的针对批处理文件bat,cmd的UltraEdit语法高亮wordfile</title><link>http://www.blogjava.net/doneykoo/articles/298170.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Wed, 14 Oct 2009 03:14:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/articles/298170.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/298170.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/articles/298170.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/298170.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/298170.html</trackback:ping><description><![CDATA[<br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;&nbsp;1</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;2</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">L18</span><span style="color: #800000;">"</span><span style="color: #800000;">BAT_FILE</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;BAT_FILE_LANG&nbsp;Line&nbsp;Comment&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;rem&nbsp;Block&nbsp;Comment&nbsp;On&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/*</span><span style="color: #000000;">&nbsp;Block&nbsp;Comment&nbsp;Off&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*/</span><span style="color: #000000;">&nbsp;Escape&nbsp;Char&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;\&nbsp;String&nbsp;Chars&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">&nbsp;File&nbsp;Extensions&nbsp;=&nbsp;bat&nbsp;cmd</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">Delimiters&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">~</span><span style="color: #000000;">!@</span><span style="color: #000000;">^&amp;*</span><span style="color: #000000;">()</span><span style="color: #000000;">-+=|/</span><span style="color: #000000;">\{}[]:;</span><span style="color: #800000;">"</span><span style="color: #800000;">`'&lt;&gt;&nbsp;,&nbsp;&nbsp;&nbsp;&nbsp;.?</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">Function&nbsp;String&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">call</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">Function&nbsp;String&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">start</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">Function&nbsp;String&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">%:</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">Variable&nbsp;String&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">^%[1-9a-zA-Z]++[12345^%]</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;8</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">Indent&nbsp;Strings&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">(</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">if</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">else</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">Unindent&nbsp;Strings&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">)</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;10</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">Open&nbsp;Brace&nbsp;Strings&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">{</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">(</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">%</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;11</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">Close&nbsp;Brace&nbsp;Strings&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">}</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">)</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">%</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;12</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">Open&nbsp;Fold&nbsp;Strings&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">(</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;13</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">Close&nbsp;Fold&nbsp;Strings&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">)</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;14</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">C1</span><span style="color: #800000;">"</span><span style="color: #800000;">Keywords</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;STYLE_KEYWORD<br />
</span><span style="color: #008080;">&nbsp;15</span>&nbsp;<span style="color: #000000;">assoc&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;16</span>&nbsp;<span style="color: #000000;">at&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;17</span>&nbsp;<span style="color: #000000;">attrib&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;18</span>&nbsp;<span style="color: #0000ff;">break</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;19</span>&nbsp;<span style="color: #000000;">cacls&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;20</span>&nbsp;<span style="color: #000000;">call&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;21</span>&nbsp;<span style="color: #000000;">cd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;22</span>&nbsp;<span style="color: #000000;">chcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;23</span>&nbsp;<span style="color: #000000;">chdir&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;24</span>&nbsp;<span style="color: #000000;">chkdsk&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;25</span>&nbsp;<span style="color: #000000;">chkntfs&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;26</span>&nbsp;<span style="color: #000000;">cls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;27</span>&nbsp;<span style="color: #000000;">cmd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;28</span>&nbsp;<span style="color: #000000;">color&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;29</span>&nbsp;<span style="color: #000000;">comp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;30</span>&nbsp;<span style="color: #000000;">compact&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;31</span>&nbsp;<span style="color: #000000;">convert&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;32</span>&nbsp;<span style="color: #000000;">copy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;33</span>&nbsp;<span style="color: #000000;">date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;34</span>&nbsp;<span style="color: #0000ff;">del</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;35</span>&nbsp;<span style="color: #000000;">dir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;36</span>&nbsp;<span style="color: #000000;">diskcomp&nbsp;<br />
</span><span style="color: #008080;">&nbsp;37</span>&nbsp;<span style="color: #000000;">diskcopy&nbsp;<br />
</span><span style="color: #008080;">&nbsp;38</span>&nbsp;<span style="color: #000000;">doskey&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;39</span>&nbsp;<span style="color: #000000;">echo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;40</span>&nbsp;<span style="color: #000000;">endlocal&nbsp;<br />
</span><span style="color: #008080;">&nbsp;41</span>&nbsp;<span style="color: #000000;">erase&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;42</span>&nbsp;<span style="color: #000000;">exit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;43</span>&nbsp;<span style="color: #000000;">fc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;44</span>&nbsp;<span style="color: #000000;">find&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;45</span>&nbsp;<span style="color: #000000;">findstr&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;46</span>&nbsp;<span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;47</span>&nbsp;<span style="color: #000000;">format&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;48</span>&nbsp;<span style="color: #000000;">ftype&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;49</span>&nbsp;<span style="color: #000000;">goto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;50</span>&nbsp;<span style="color: #000000;">graftabl&nbsp;<br />
</span><span style="color: #008080;">&nbsp;51</span>&nbsp;<span style="color: #000000;">help&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;52</span>&nbsp;<span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;53</span>&nbsp;<span style="color: #000000;">label&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;54</span>&nbsp;<span style="color: #000000;">md&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;55</span>&nbsp;<span style="color: #000000;">mkdir&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;56</span>&nbsp;<span style="color: #000000;">mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;57</span>&nbsp;<span style="color: #000000;">more&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;58</span>&nbsp;<span style="color: #000000;">move&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;59</span>&nbsp;<span style="color: #000000;">path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;60</span>&nbsp;<span style="color: #000000;">pause&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;61</span>&nbsp;<span style="color: #000000;">popd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;62</span>&nbsp;<span style="color: #0000ff;">print</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;63</span>&nbsp;<span style="color: #000000;">prompt&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;64</span>&nbsp;<span style="color: #000000;">pushd&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;65</span>&nbsp;<span style="color: #000000;">rd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;66</span>&nbsp;<span style="color: #000000;">recover&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;67</span>&nbsp;<span style="color: #000000;">rem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;68</span>&nbsp;<span style="color: #000000;">ren&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;69</span>&nbsp;<span style="color: #000000;">rename&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;70</span>&nbsp;<span style="color: #000000;">replace&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;71</span>&nbsp;<span style="color: #000000;">rmdir&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;72</span>&nbsp;<span style="color: #000000;">set&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;73</span>&nbsp;<span style="color: #000000;">setlocal&nbsp;<br />
</span><span style="color: #008080;">&nbsp;74</span>&nbsp;<span style="color: #000000;">shift&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;75</span>&nbsp;<span style="color: #000000;">sort&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;76</span>&nbsp;<span style="color: #000000;">start&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;77</span>&nbsp;<span style="color: #000000;">subst&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;78</span>&nbsp;<span style="color: #000000;">time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;79</span>&nbsp;<span style="color: #000000;">title&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;80</span>&nbsp;<span style="color: #000000;">tree&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;81</span>&nbsp;<span style="color: #000000;">type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;82</span>&nbsp;<span style="color: #000000;">ver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;83</span>&nbsp;<span style="color: #000000;">verify&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;84</span>&nbsp;<span style="color: #000000;">vol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;85</span>&nbsp;<span style="color: #000000;">xcopy&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;86</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">C2</span><span style="color: #800000;">"</span><span style="color: #800000;">C++&nbsp;Keywords</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;STYLE_KEYWORD<br />
</span><span style="color: #008080;">&nbsp;87</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">C3</span><span style="color: #800000;">"</span><span style="color: #800000;">Microsoft&nbsp;C&nbsp;extensions</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;STYLE_EXTENSION<br />
</span><span style="color: #008080;">&nbsp;88</span>&nbsp;<span style="color: #000000;">@<br />
</span><span style="color: #008080;">&nbsp;89</span>&nbsp;<span style="color: #000000;">%</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;90</span>&nbsp;<span style="color: #000000;">(<br />
</span><span style="color: #008080;">&nbsp;91</span>&nbsp;<span style="color: #000000;">)<br />
</span><span style="color: #008080;">&nbsp;92</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">C5</span><span style="color: #800000;">"</span><span style="color: #800000;">COLOR5</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;STYLE_COLOR5<br />
</span><span style="color: #008080;">&nbsp;93</span>&nbsp;<span style="color: #000000;">!<br />
</span><span style="color: #008080;">&nbsp;94</span>&nbsp;<span style="color: #000000;">%</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;95</span>&nbsp;<span style="color: #000000;">&amp;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;96</span>&nbsp;<span style="color: #000000;">*</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;97</span>&nbsp;<span style="color: #000000;">+</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;98</span>&nbsp;<span style="color: #000000;">-</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;99</span>&nbsp;<span style="color: #000000;">//</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">100</span>&nbsp;<span style="color: #000000;">&lt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">101</span>&nbsp;<span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">102</span>&nbsp;<span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">103</span>&nbsp;<span style="color: #000000;">^</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">104</span>&nbsp;<span style="color: #000000;">|</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">105</span>&nbsp;<span style="color: #000000;">~</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">106</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">C6</span><span style="color: #800000;">"</span><span style="color: #800000;">COLOR6</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;STYLE_COLOR6<br />
</span><span style="color: #008080;">107</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">C7</span><span style="color: #800000;">"</span><span style="color: #800000;">Variables</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">108</span>&nbsp;<span style="color: #000000;">**</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">%</span><span style="color: #000000;">&nbsp;x</span><span style="color: #000000;">%</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">109</span>&nbsp;<span style="color: #000000;">/</span><span style="color: #000000;">C8</span><span style="color: #800000;">"</span><span style="color: #800000;">Constant/Global/Symbol</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">110</span>&nbsp;<span style="color: #000000;">**</span><span style="color: #000000;">&nbsp;WII&nbsp;DEB&nbsp;FIN&nbsp;REL</span></div>
<br />
<img src ="http://www.blogjava.net/doneykoo/aggbug/298170.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2009-10-14 11:14 <a href="http://www.blogjava.net/doneykoo/articles/298170.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UltraEdit 与Unix 正则表达式</title><link>http://www.blogjava.net/doneykoo/archive/2009/10/13/298100.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Tue, 13 Oct 2009 10:36:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2009/10/13/298100.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/298100.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2009/10/13/298100.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/298100.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/298100.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: UltraEdit 允许在搜索菜单下面列出了的许多搜索和替换功能中使用正则表达式。正则表达式能让更多的复杂的搜索和替换功能变成简单的操作。（中文版界面上显示为&#8220;正规表达式&#8221;）有两个可使用的语法集合。下面的第一表显示出在 UltraEdit 的更早的版本被使用的原来的 UltraEdit 句法。第二表给出了可选的"Unix"类型的正则表达式。这可以从配置单元启用。&n...&nbsp;&nbsp;<a href='http://www.blogjava.net/doneykoo/archive/2009/10/13/298100.html'>阅读全文</a><img src ="http://www.blogjava.net/doneykoo/aggbug/298100.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2009-10-13 18:36 <a href="http://www.blogjava.net/doneykoo/archive/2009/10/13/298100.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ruby操作excel文件</title><link>http://www.blogjava.net/doneykoo/archive/2009/02/26/256755.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Thu, 26 Feb 2009 02:25:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2009/02/26/256755.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/256755.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2009/02/26/256755.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/256755.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/256755.html</trackback:ping><description><![CDATA[<div id="blog_text" class="cnt">
<p>使用ruby来操作excel文件首先需要在脚本里包含以下语句<br />
require 'win32ole'</p>
<p>把win32ole包含进来后,就可以通过和windows下的excel api进行交互来对excel文件进行读写了.</p>
<p><br />
<strong>打开excel文件,对其中的sheet进行访问:</strong><br />
excel = WIN32OLE::new('excel.Application')<br />
workbook = excel.Workbooks.Open('c:\examples\spreadsheet.xls')<br />
worksheet = workbook.Worksheets(1) #定位到第一个sheet<br />
worksheet.Select</p>
<p><strong>读取数据:</strong><br />
worksheet.Range('a12')['Value']  #读取a12中的数据<br />
data = worksheet.Range('a1:c12')['Value'] #将数据读入到一个二维表</p>
<p><br />
<strong>找到第一处a列的值为空值</strong><br />
line = 1<br />
while worksheet.Range("a#{line}")['Value']<br />
&nbsp;&nbsp;  line=line+1<br />
end #line的值为第一处空白行的行数</p>
<p><br />
<strong>将第一列的值读入到一个数组中</strong><br />
line = '1'<br />
data = []<br />
while worksheet.Range("a#{line}")['Value']<br />
&nbsp;&nbsp;  data &lt;&lt; worksheet.Range("a#{line}:d#{line}")['Value']<br />
&nbsp;&nbsp;  line.succ!<br />
end</p>
<p><br />
<strong>将数据写入到excel表格中</strong><br />
worksheet.Range('e2')['Value'] = Time.now.strftime '%d/%m/%Y' #单个值<br />
worksheet.Range('a5:c5')['Value'] = ['Test', '25', 'result']  #将一个数组写入</p>
<p><br />
<strong>调用宏定义<br />
</strong>excel.Run('SortByNumber')</p>
<p><strong>设置背景色</strong><br />
worksheet.Range('a3:f5').Interior['ColorIndex'] = 36 #pale yellow<br />
# 将背景色恢复成无色<br />
worksheet.Range('a3:f5').Interior['ColorIndex'] = -4142 # XlColorIndexNone constant<br />
# 使用Excel constant 将背景色恢复成无色<br />
worksheet.Range('a3:f5').Interior['ColorIndex'] = ExcelConst::XlColorIndexNone</p>
<p><br />
<strong>保存</strong><br />
workbook.Close(1)<br />
# 或<br />
workbook.<span class="__mozilla-findbar-search" style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;">SaveAs</span> 'myfile.xls'<br />
# 默认路径是系统定义的"我的文档"</p>
<p><br />
<strong>结束会话</strong><br />
excel.Quit</p>
<p>一些相对完整的代码片段</p>
<p><strong>创建一个excel文件并保存</strong><br />
require 'win32ole'<br />
excel = WIN32OLE.new("excel.application")<br />
excel.visible = true&nbsp;&nbsp;&nbsp;&nbsp;  # in case you want to see what happens <br />
workbook = excel.workbooks.add<br />
workbook.<span class="__mozilla-findbar-search" style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;">saveas</span>('c:\examples\spreadsheet1.xls')<br />
workbook.close</p>
<p><strong>操作excel文件的几个重要元素<br />
</strong>Excel =&gt; workbook =&gt; worksheet =&gt; range(cell)<br />
我理解的是excel为类名,workbook为一个具体的(excel文件)实例,创建好实例后,worksheet是实例(workbook,工作簿)中的一个工作表,然后可</p>
<p>以对工作表中的每个单元格(range(cell))进行具体的读写------------------按照这样操作肯定没有错,不过下面的这些语句又让我有些疑惑</p>
<p><br />
excel.workbooks("Mappe1").worksheets("Tabelle1").range("a1").value #读取名为Mappe1的excel文件中工作表名为Tabelle1的a1单元格中的值<br />
excel.worksheets("Tabelle1").range("a1").value #作用同第一条语句<br />
excel.activeworkbook.activesheet.range("a1").value #作用同第一条语句<br />
excel.activesheet.range("a1").value #作用同第一条语句<br />
excel.range("a1").value #作用同第一条语句</p>
<p>excel可以直接操作所有的属性,默认为当前活跃的工作簿/工作表</p>
<p><br />
<strong>对单元格的操作:</strong></p>
<p>某个单元格: sheet.range("a1")</p>
<p>a1到c3的值:&nbsp;&nbsp;  sheet.range("a1", "c3")  或 sheet.range("a1:c3")</p>
<p>第一列:&nbsp;&nbsp;&nbsp;  sheet.range("a:a")</p>
<p>第三行:&nbsp;&nbsp;&nbsp;  sheet.range("3:3")</p>
<p><strong>获得单元格的值:</strong><br />
range.text  #读取值,返回为字符串格式,如果单元格内为数字,有可能会被截断小数点后的位数<br />
sheet.range("a1").text&nbsp;&nbsp;</p>
<p>range.value  #读取值,数字不会截断<br />
sheet.range("a1").value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p><strong>对单元格设置值</strong><br />
sheet.range("a1").value = 1.2345<br />
或<br />
sheet.range("a1").value = '1.2345'</p>
<p><strong>迭代访问</strong>:</p>
<p>sheet.range("a1:a10").each{|cell|puts cell.value}</p>
<p>如果范围是一个矩形,则会按行循环迭代访问<br />
sheet.range("a1:b5").each{|cell|puts cell.value}</p>
<p>block迭代,并打印出每行的第一个值<br />
sheet.range("b3:c7").rows.each{|r|puts r.cells(1,1).value}</p>
</div>
<img src ="http://www.blogjava.net/doneykoo/aggbug/256755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2009-02-26 10:25 <a href="http://www.blogjava.net/doneykoo/archive/2009/02/26/256755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>qsort</title><link>http://www.blogjava.net/doneykoo/archive/2009/02/24/256441.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Tue, 24 Feb 2009 07:58:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/archive/2009/02/24/256441.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/256441.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/archive/2009/02/24/256441.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/256441.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/256441.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">stdafx.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">stdlib.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">string.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">stdio.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;cmp_i(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">a,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">b)<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;res&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">)a&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">)b;<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;res;<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;cmp_s(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">a,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">b)<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;res&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;strcmp((</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">)a,&nbsp;(</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">)b);<br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;res;<br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()<br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">{<br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;values[]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;{</span><span style="color: #000000;">3</span><span style="color: #000000;">,</span><span style="color: #000000;">3546</span><span style="color: #000000;">,</span><span style="color: #000000;">6134</span><span style="color: #000000;">,</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">234</span><span style="color: #000000;">,</span><span style="color: #000000;">12435</span><span style="color: #000000;">,</span><span style="color: #000000;">51</span><span style="color: #000000;">,</span><span style="color: #000000;">3</span><span style="color: #000000;">,</span><span style="color: #000000;">4</span><span style="color: #000000;">,</span><span style="color: #000000;">32</span><span style="color: #000000;">,</span><span style="color: #000000;">3241</span><span style="color: #000000;">,</span><span style="color: #000000;">34514</span><span style="color: #000000;">,</span><span style="color: #000000;">5</span><span style="color: #000000;">};<br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;strs[][</span><span style="color: #000000;">15</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;{</span><span style="color: #000000;">"</span><span style="color: #000000;">32</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">66</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">6134</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">1</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">234</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">12435</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">51</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">3</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">4</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">32</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">3241</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">34514</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">5</span><span style="color: #000000;">"</span><span style="color: #000000;">};<br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">-------------------\nQsort&nbsp;int\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">10</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d\t</span><span style="color: #000000;">"</span><span style="color: #000000;">,values[i]);<br />
</span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;qsort(values,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">),&nbsp;cmp_i);<br />
</span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">10</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080;">32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d\t</span><span style="color: #000000;">"</span><span style="color: #000000;">,values[i]);<br />
</span><span style="color: #008080;">33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">34</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">35</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">-------------------\nQsort&nbsp;str\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">37</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">10</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">38</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080;">39</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%s\t</span><span style="color: #000000;">"</span><span style="color: #000000;">,strs[i]);<br />
</span><span style="color: #008080;">40</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">42</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;qsort(strs,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(</span><span style="color: #0000ff;">char</span><span style="color: #000000;">)</span><span style="color: #000000;">*</span><span style="color: #000000;">15</span><span style="color: #000000;">,&nbsp;cmp_s);<br />
</span><span style="color: #008080;">43</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">10</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">44</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080;">45</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%s\t</span><span style="color: #000000;">"</span><span style="color: #000000;">,strs[i]);<br />
</span><span style="color: #008080;">46</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">47</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">48</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">49</span>&nbsp;</div>
<img src ="http://www.blogjava.net/doneykoo/aggbug/256441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2009-02-24 15:58 <a href="http://www.blogjava.net/doneykoo/archive/2009/02/24/256441.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>游戏开发学习过程（连载中...）（转自 威尔弗的空间）</title><link>http://www.blogjava.net/doneykoo/articles/249366.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Wed, 31 Dec 2008 10:04:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/articles/249366.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/249366.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/articles/249366.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/249366.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/249366.html</trackback:ping><description><![CDATA[<a href="http://hi.baidu.com/welflau/blog/item/1b17032320bb05499358075e.html">转自 ： http://hi.baidu.com/welflau/blog/item/1b17032320bb05499358075e.html</a><br />
<br />
<span style="color: #000000"><a href="http://hi.baidu.com/welflau/"><font color="#ffffff">http://hi.baidu.com/welflau/</font></a><font color="#ffffff">希望能保留原创作者链接，谢谢！</font></span><br />
<br />
<p>2008-12-02</p>
<p><strong><font color="#ff0000" size="5">第1讲【创建框架】</font></strong></p>
<p><font color="#ffffff"></font>&nbsp;</p>
<p><br />
1 新建MFC exe / dialog based<br />
2 删除dialog类的显示代码<br />
3 添加WelflGameFrm类<br />
4 在app类的InitInstance 函数中 添加<a href="http://hi.baidu.com/welflau/"><font color="#ffffff">http://hi.baidu.com/welflau/</font></a><font color="#ffffff">希望能保留原创作者链接，谢谢！</font><br />
m_pMainWnd = new CWelflGameFrm;<br />
m_pMainWnd-&gt;ShowWindow( m_nCmdShow );<br />
m_pMainWnd-&gt;UpdateWindow();<br />
5 将CWelflGameFrm()构造函数改为public 成员<br />
6 在构造函数CWelflGameFrm中添加：<br />
RECT rect;<br />
Create(NULL,"ch07-1: ミDirectGraphics");<br />
CClientDC dc(this);<br />
int width = dc.GetDeviceCaps(HORZRES);<br />
int height = dc.GetDeviceCaps(VERTRES);<br />
GetWindowRect( &amp;rect );<br />
width = ( width - ( rect.right - rect.left ))/2 ;<br />
height = (height - (rect.bottom - rect.top ))/2 ;<br />
MoveWindow( width , height , (rect.right - rect.left ) , (rect.bottom - rect.top ) ,true);</p>
<p>7 为CWelfGameFrm类添加WindowProc函数，并加入代码：<a href="http://hi.baidu.com/welflau/"><font color="#ffffff">http://hi.baidu.com/welflau/</font></a><font color="#ffffff">希望能保留原创作者链接，谢谢！</font><br />
switch( message )<br />
{<br />
case WM_CREATE :<br />
&nbsp;&nbsp; if( !d3dCreate( m_hWnd , 640 , 480 , true ))<br />
&nbsp;&nbsp;&nbsp; PostMessage( WM_CLOSE );<br />
&nbsp;&nbsp; return 0 ;<br />
case WM_DESTROY :<br />
&nbsp;&nbsp; d3dRelease();<br />
&nbsp;&nbsp; return 0 ;<br />
}</p>
<p>8 为工程添加两个文件<br />
myd3d.cpp， myd3d.h</p>
<p>9 编译出现<br />
fatal error C1010: unexpected end of file while looking for precompiled header directive<br />
解决方案：在Project Settings里C++页面的Precomplie Header里把出错源文件设置为不使用预编译头就可以了，详见视频</p>
<p>10 将BOOL CWelfGameApp::InitInstance()中的<br />
return FALSE;改为 return TRUE;</p>
<p>11 为CWelfGameFrm类添加OnPaint响应<br />
添加如下代码：<br />
d3dClear(0);<br />
//<br />
d3d_Device-&gt;Present( NULL , NULL , NULL , NULL );</p>
<br />
<br />
<br />
<p><font color="#ff0000" size="5"><strong>第2讲【绘制文字和图像】</strong></font></p>
<p>目录<br />
【一】、从DirectGraphic中获取DC（GDI）<br />
【二】、2D图像绘制</p>
<p><br />
【一】、从DirectGraphic中获取DC（GDI）<br />
1 添加类d3dHdc 在 myd3d.h文件中<br />
class d3dHdc <br />
{<br />
private :<br />
HDC m_hdc ;<br />
LPDIRECT3DSURFACE9 m_Surface ;</p>
<p>public :<br />
void Release();<br />
inline operator HDC(){ return m_hdc ;};<br />
public :<br />
d3dHdc();<br />
~d3dHdc();<br />
};</p>
<p>2在myd3d.cpp中添加函数定义<br />
d3dHdc::d3dHdc()<br />
{<br />
m_hdc = 0 ;<br />
m_Surface = 0 ;<br />
// 获得设备<br />
if( !d3d_Device )<br />
&nbsp;&nbsp; return ;<br />
if( d3d_Device-&gt;GetBackBuffer( 0 , 0 , D3DBACKBUFFER_TYPE_MONO , &amp;m_Surface ) != D3D_OK )<br />
&nbsp;&nbsp; return ;<br />
<br />
m_Surface-&gt;GetDC( &amp;m_hdc );<br />
}</p>
<p>d3dHdc::~d3dHdc()<br />
{<br />
Release();<br />
}</p>
<p>void d3dHdc::Release()<br />
{<br />
if( m_Surface )<br />
{<br />
&nbsp;&nbsp; if( m_hdc )<br />
&nbsp;&nbsp;&nbsp; m_Surface-&gt;ReleaseDC( m_hdc );<br />
&nbsp;&nbsp; m_Surface-&gt;Release();<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp; m_hdc = NULL ;<br />
&nbsp;&nbsp; m_Surface = NULL ;<br />
}<br />
<br />
}</p>
<p>3 现在就可以使用他了<br />
在绘制函数中添加：<br />
d3dHdc hdc ;<br />
&nbsp;&nbsp; SetTextColor( hdc , RGB( 255 , 255 , 255 ));<br />
&nbsp;&nbsp; SetBkMode( hdc , 1 );<br />
&nbsp;&nbsp; TextOut( hdc , 0 , 0 , str , strlen( str ));<br />
hdc.Release();</p>
<p><br />
【二】、2D图像绘制<br />
1 新建d3dTexture类<br />
class d3dTexture<br />
{<br />
private :<br />
int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_Width ;<br />
int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_Height ;<br />
LPDIRECT3DTEXTURE9 m_Texture ;<br />
public :<br />
void BltFast( int x , int y );<br />
void BltFast( int l , int t , int r , int b );<br />
public :<br />
BOOL Create( LPCTSTR file );<br />
void Release();<br />
inline operator LPDIRECT3DTEXTURE9(){ return m_Texture ;};<br />
public :<br />
d3dTexture();<br />
~d3dTexture();<br />
};</p>
<p>2 并添加定义：</p>
<p>/*////////////////////////////////////////////////<br />
3D 纹理类d3dTexture 函数定义 2008-12-02</p>
<p>/*////////////////////////////////////////////////</p>
<p>d3dTexture::d3dTexture()<br />
{<br />
m_Texture = NULL ;<br />
}</p>
<p>d3dTexture::~d3dTexture()<br />
{<br />
Release();<br />
}</p>
<p>void d3dTexture::Release()<br />
{<br />
if( m_Texture )<br />
&nbsp;&nbsp; m_Texture-&gt;Release();<br />
m_Texture = NULL ;<br />
}</p>
<p>BOOL d3dTexture::Create( LPCTSTR file )<br />
{<br />
D3DXIMAGE_INFO in ;<br />
memset( &amp;in , 0 , sizeof( in ));<br />
// ﹍て<br />
Release();<br />
//更 <br />
D3DXCreateTextureFromFileEx( d3d_Device ,<br />
&nbsp;&nbsp; file , D3DX_DEFAULT , D3DX_DEFAULT , <br />
&nbsp;&nbsp; 0 , 0 , D3DFMT_UNKNOWN , D3DPOOL_MANAGED ,<br />
&nbsp;&nbsp; D3DX_DEFAULT , <br />
&nbsp;&nbsp; D3DX_DEFAULT , 0 , &amp;in , NULL , &amp;m_Texture );<br />
if( m_Texture == NULL )<br />
&nbsp;&nbsp; return false ;<br />
// 眔戈 <br />
m_Width = in.Width ;<br />
m_Height = in.Height ;<br />
<br />
return true ;<br />
}</p>
<p>void d3dTexture::BltFast(int x, int y)<br />
{<br />
BltFast( x , y , x + m_Width , y + m_Height );<br />
}</p>
<p>void d3dTexture::BltFast(int l , int t , int r , int b )<br />
{<br />
D3DTLVERTEX v[4] ;<br />
//郴翴 挡篶<br />
memset( v , 0 , sizeof( v ));<br />
v[0].x = v[3].x = (float)(l) ;<br />
v[1].x = v[2].x = (float)(r);<br />
v[0].y = v[1].y = (float)(t);<br />
v[2].y = v[3].y = (float)(b);<br />
<br />
v[0].rhw = v[1].rhw = v[2].rhw = v[3].rhw = <br />
&nbsp;&nbsp; v[0].z = v[1].z = v[2].z = v[3].z = 0.5f ;<br />
<br />
v[0].diffuse = v[1].diffuse = v[2].diffuse = v[3].diffuse = -1 ;<br />
<br />
v[1].tu = v[2].tu = 1.0f ;<br />
v[2].tv = v[3].tv = 1.0f ;<br />
//砞酶瓜家&#913;<br />
d3d_Device-&gt;SetTexture( 0 , m_Texture );<br />
d3d_Device-&gt;SetFVF( D3DFVF_TLVERTEX );<br />
d3d_Device-&gt;DrawPrimitiveUP( D3DPT_TRIANGLEFAN , 2 , (LPVOID)v , sizeof( D3DTLVERTEX ));<br />
<br />
<br />
}</p>
<p>3 编译时会出错<br />
解决方法：<br />
在myd3d.h文件中添加<br />
#include "d3dx9tex.h"<br />
和<br />
#pragma comment(lib,"d3dx9.lib")<br />
以及<br />
const DWORD D3DFVF_TLVERTEX = (D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1 );<br />
typedef struct _D3DTLVERTEX <br />
{<br />
float x , y , z , rhw ;<br />
D3DCOLOR diffuse , specular;<br />
float tu, tv;<br />
}D3DTLVERTEX ;</p>
<p>4 在WelfGameFrm中添加两个成员<br />
d3dTexture m_Bk ;<br />
d3dTexture m_Role ;</p>
<p>5 在WelfGameFrm的Create响应添加：<br />
&nbsp;&nbsp; m_Bk.Create( "背景.tga" );<br />
&nbsp;&nbsp; m_Role.Create( "娃娃.tga" );</p>
<p>6 调用BltFast进行绘制<br />
//开始绘制<br />
d3d_Device-&gt;BeginScene();<br />
d3d_Device-&gt;SetRenderState( D3DRS_CULLMODE , D3DCULL_NONE );<br />
d3d_Device-&gt;SetRenderState( D3DRS_ZENABLE , D3DZB_FALSE );<br />
m_Bk.BltFast( 0 , 0 );<br />
m_Role.BltFast( 0 , 0 );<br />
d3d_Device-&gt;EndScene();</p>
<p>7 将BltFast函数改进</p>
<br />
<br />
<br />
<p><font color="#ff0000" size="5"><strong>第3讲 WelfGame【图像透明及颜色】</strong></font></p>
<p><a href="http://hi.baidu.com/welflau/"><font color="#ffffff">http://hi.baidu.com/welflau/</font></a><font color="#ffffff">希望能保留原创作者链接，</font></p>
<font color="#ffffff">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000">【一】、实现透明图像</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font color="#000000"><span><font face="Times New Roman">1 </font></span><span>在</span><span><font face="Times New Roman">RenderScene()</font></span><span>中添加设置代码</span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000">在背景绘制前添加：</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetRenderState( D3DRS_CULLMODE , D3DCULL_NONE );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetRenderState( D3DRS_ZENABLE , D3DZB_FALSE );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetRenderState( D3DRS_SHADEMODE , D3DSHADE_FLAT );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000">在前景绘制的前面添加</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetRenderState( D3DRS_SRCBLEND , D3DBLEND_SRCALPHA );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetRenderState( D3DRS_DESTBLEND , D3DBLEND_INVSRCALPHA );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font color="#000000"><span><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );//</font></span><span>开启混色</span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div forimg="1">
<p><img class="blogimg" src="http://hiphotos.baidu.com/welflau/pic/item/504b71f499455dc4f2d38591.jpg" border="0" small="0"  alt="" /></p>
<p>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span>效果</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"></p>
<div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/welflau/pic/item/8f175c4e81c0ee14b3de059c.jpg" border="0" small="0"  alt="" /></div>
</div>
<p>&nbsp;</p>
<font color="#ffffff">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font color="#000000"><span><font face="Times New Roman">2 </font></span><span>为</span><span><font face="Times New Roman">d3dTexture</font></span><span>添加</span><span><font face="Times New Roman">BltFast</font></span><span>函数</span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font face="Times New Roman" color="#000000">void d3dTexture::BltFast(int l , int t , int r , int b , DWORD diffuse )</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font face="Times New Roman" color="#000000">{</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>D3DTLVERTEX v[4] ;</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font color="#000000"><span><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//</font></span><span>郴翴</span><span> 挡篶</span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>memset( v , 0 , sizeof( v ));</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>v[0].x = v[3].x = (float)(l) ;</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>v[1].x = v[2].x = (float)(r);</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>v[0].y = v[1].y = (float)(t);</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>v[2].y = v[3].y = (float)(b);</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>v[0].rhw = v[1].rhw = v[2].rhw = v[3].rhw = </font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>v[0].z = v[1].z = v[2].z = v[3].z = <ST1:CHMETCNV tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue=".5" unitname="F">0.5f</ST1:CHMETCNV> ;</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font color="#000000"><span><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//</font></span><span>肅︹</span><span> </span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>v[0].diffuse = v[1].diffuse = v[2].diffuse = v[3].diffuse = diffuse ;</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>v[1].tu = v[2].tu = <ST1:CHMETCNV tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="F">1.0f</ST1:CHMETCNV> ;</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>v[2].tv = v[3].tv = <ST1:CHMETCNV tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="F">1.0f</ST1:CHMETCNV> ;</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font color="#000000"><span><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//</font></span><span>砞酶瓜家&#913;</span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetTexture( 0 , m_Texture );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetFVF( D3DFVF_TLVERTEX<span style="mso-spacerun: yes"> </span>);</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;DrawPrimitiveUP( D3DPT_TRIANGLEFAN , 2 , (LPVOID)v , sizeof( D3DTLVERTEX ));</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font face="Times New Roman" color="#000000">}</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000">添加以下几句：</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="mso-no-proof: yes"><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetTextureStageState( 0 , D3DTSS_ALPHAARG1 , D3DTA_TEXTURE );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="mso-no-proof: yes"><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetTextureStageState( 0 , D3DTSS_ALPHAARG2 , D3DTA_DIFFUSE );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="mso-no-proof: yes"><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetTextureStageState( 0 , D3DTSS_COLORARG1 , D3DTA_TEXTURE );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="mso-no-proof: yes"><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetTextureStageState( 0 , D3DTSS_COLORARG2 , D3DTA_DIFFUSE );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="mso-no-proof: yes"><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetTextureStageState( 0 , D3DTSS_COLOROP , D3DTOP_SELECTARG1 );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="mso-no-proof: yes"><font color="#000000"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d3d_Device-&gt;SetTextureStageState( 0 , D3DTSS_ALPHAOP , D3DTOP_MODULATE );</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font color="#000000"><span style="mso-no-proof: yes"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//</font></span><span style="mso-ascii-: yes">以下为前景</span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font color="#000000"><span style="mso-no-proof: yes"><font face="Times New Roman"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>m_Role.BltFast( 100, 100, 250 ,250 ,D3DCOLOR_ARGB( 128 , 255 , 255 , 255 ));//</font></span><span style="mso-ascii-: yes">最后一个参数为颜色，包括透明度</span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font color="#000000">效果图</font></span></p>
<p>&nbsp;</p>
<div forimg="1">
<p><img class="blogimg" src="http://hiphotos.baidu.com/welflau/pic/item/5df00524153ce62ec895599f.jpg" border="0" small="0"  alt="" /></font></font></p>
</div>
 <img src ="http://www.blogjava.net/doneykoo/aggbug/249366.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2008-12-31 18:04 <a href="http://www.blogjava.net/doneykoo/articles/249366.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaScript 仿LightBox内容显示效果、拖放效果和渐变效果</title><link>http://www.blogjava.net/doneykoo/articles/249363.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Wed, 31 Dec 2008 09:59:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/articles/249363.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/249363.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/articles/249363.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/249363.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/249363.html</trackback:ping><description><![CDATA[<a class="postTitle2" id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/cloudgamer/archive/2008/09/15/1290954.html">JavaScript 仿LightBox内容显示效果</a> <br />
<br />
<a href="http://andymao.com/andy/post/70.html">详解定位与定位应用</a><br />
<br />
<a href="http://www.cnblogs.com/cloudgamer/archive/2008/11/17/1334778.html">拖放效果</a>和<a href="http://www.cnblogs.com/cloudgamer/archive/2008/08/27/1277131.html">渐变效果</a>
 <img src ="http://www.blogjava.net/doneykoo/aggbug/249363.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2008-12-31 17:59 <a href="http://www.blogjava.net/doneykoo/articles/249363.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CString,int,string,char*之间的转换（转） </title><link>http://www.blogjava.net/doneykoo/articles/249360.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Wed, 31 Dec 2008 09:43:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/articles/249360.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/249360.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/articles/249360.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/249360.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/249360.html</trackback:ping><description><![CDATA[<p align="justify"><span style="font-size: 8pt">转自<a href="http://www.cppblog.com/ACM-Boy/archive/2008/12/31/70843.html">http://www.cppblog.com/ACM-Boy/archive/2008/12/31/70843.html</a></span><br />
<br />
string 转 CString&nbsp;&nbsp;<br />
<strong>CString.format("%s", string.c_str());</strong>&nbsp;&nbsp;<br />
<br />
char 转 CString&nbsp;&nbsp;<br />
<strong>CString.format("%s", char*);</strong>&nbsp;&nbsp;<br />
<br />
char 转 string&nbsp;&nbsp;<br />
<strong>string s(char *);</strong>&nbsp;&nbsp;<br />
<br />
string 转 char *&nbsp;&nbsp;<br />
<strong>char *p = string.c_str();</strong>&nbsp;&nbsp;<br />
<br />
CString 转 string&nbsp;&nbsp;<br />
<strong>string s(CString.GetBuffer());</strong>&nbsp;&nbsp;<br />
<br />
1，string -&gt; CString&nbsp;&nbsp;<br />
<strong>CString.format("%s", string.c_str());</strong>&nbsp;&nbsp;<br />
用c_str()确实比data()要好.&nbsp;&nbsp;<br />
2，char -&gt; string&nbsp;&nbsp;<br />
<strong>string s(char *);</strong>&nbsp;&nbsp;<br />
你的只能初始化，在不是初始化的地方最好还是用assign().&nbsp;&nbsp;<br />
3,CString -&gt; string&nbsp;&nbsp;<br />
<strong>string s(CString.GetBuffer());</strong>&nbsp;&nbsp;<br />
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.&nbsp; <br />
</p>
<img src ="http://www.blogjava.net/doneykoo/aggbug/249360.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2008-12-31 17:43 <a href="http://www.blogjava.net/doneykoo/articles/249360.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[FW] 在UltraEdit里正确显示Lua的块注释（语法着色）</title><link>http://www.blogjava.net/doneykoo/articles/235729.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Tue, 21 Oct 2008 09:35:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/articles/235729.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/235729.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/articles/235729.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/235729.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/235729.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<font face="Arial"><span style="font-size: 8pt"><font face="Arial">Origin Link&nbsp;<a href="http://blog.2ndboy.net/?p=116#comment-3104" target="_blank" _fcksavedurl="http://blog.2ndboy.net/?p=116#comment-3104">http://blog.2ndboy.net/?p=116#comment-3104</a><br />
</font>Thanks to <a href="http://blog.2ndboy.net/" _fcksavedurl="http://blog.2ndboy.net/">2ndboy</a></span></font><br />
<br />
<h2><a title="Permanent Link: 在 UltraEdit 里正确显示 Lua 的块注释" href="http://blog.2ndboy.net/?p=116" rel="bookmark" _fcksavedurl="http://blog.2ndboy.net/?p=116">在 UltraEdit 里正确显示 Lua 的块注释</a><font face="Arial">（DoNeY注：语法着色问题）</font></h2>
<div class="entry">
<p>　　我算得上是 UltraEdit 的铁杆用户啦（虽然是 D 版用户:)），所以写 Lua 程序当然用 UltraEdit 啦！让 UltraEdit 支持 Lua 的语法高亮很简单，去 <a href="http://www.ultraedit.com/" target="_blank" _fcksavedurl="http://www.ultraedit.com/">UE 的官网</a>，下载 <a href="http://www.ultraedit.com/files/wf/lua.txt" target="_blank" _fcksavedurl="http://www.ultraedit.com/files/wf/lua.txt">Lua 的语法文件</a>集成在自带的语法高亮文件里就可以啦。</p>
<p>　　但是 UE 官网上这个语法文件貌似比较旧，是 02 年 8 月发布的，块注释居然用的是&#8220;[[&#8221;和&#8220;]]&#8221;：&#8220;Block Comment On = [[ Block Comment Off = ]]&#8221;。于是手工改成&#8220;Block Comment On = &#8211;[[ Block Comment Off = &#8211;]]&#8221;保存，结果发现行注释&#8220;&#8211;&#8221;是可以正确显示的，但是块注释就只能显示快注释开始标记所在的那一行。貌似是 UE 的 bug？估计跟行注释有冲突，因为语法文件里是这么写的&#8220;Line Comment = — Block Comment On = &#8211;[[ Block Comment Off = &#8211;]]&#8221;。试了一下把行注释放在块注释后面也不行，开动 Google，结果在 UE 的论坛上找到了<a href="http://www.ultraedit.com/index.php?name=Forums&amp;file=viewtopic&amp;t=3054" target="_blank" _fcksavedurl="http://www.ultraedit.com/index.php?name=Forums&amp;file=viewtopic&amp;t=3054">答案</a>。</p>
<p>　　把 Lua 的语法文件第一行改成如下这个样子就可以啦：<br />
</p>
<p>&nbsp;</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"><span style="color: #000000">/</span><span style="color: #000000">L12&#8243;Lua&#8221;&nbsp;Block&nbsp;Comment&nbsp;On&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">--</span><span style="color: #000000">[[&nbsp;Block&nbsp;Comment&nbsp;Off&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;]]&nbsp;Block&nbsp;Comment&nbsp;On&nbsp;Alt&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">--</span><span style="color: #000000">&nbsp;Escape&nbsp;Char&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;\&nbsp;String&nbsp;Chars&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;&#8220;&#8216;&nbsp;File&nbsp;Extensions&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;LUA</span></div>
<p><br />
<br />
（DoNeY注：哈，终于有了解决方案，下面听作者讲一下这一微小滴奥妙所在）</p>
<p>　　查了一下 UE 的帮助文档，上面对&#8220;Block Comment On Alt&#8221;的描述是这样的&#8220;The second set of block comments are in the form &#8220;Block Comment On Alt = &#8221; and &#8220;Block Comment Off Alt = &#8221; followed by up to five characters each that define the comment designators. If a Block Comment On Alt is defined but the Block Comment Off Alt is not defined the commenting will stop at the end of the line.&#8221;。看来块注释指示器有两种，这个办法还真是比较巧妙，但是要熟读 UE 文档才能想的到呀。<br />
（DoNeY注：意即如果ultraedit在wordfile中对某个语言的语法着色只定义其Block Comment On Alt =作为第二种块注释的起始符号，而不定义第二种块注释的结束符号Block Comment Off Alt =，那么这个Block Comment On Alt 所定义的符号将会只注释掉从符号开始至行尾的部分，也就相当于换一个方法定义了行注释的符号了）</p>
<p>　　改完以后再看 Lua 代码里的块注释，现在已经可以完美显示啦:D<br />
<br />
</p>
</div>
<img src ="http://www.blogjava.net/doneykoo/aggbug/235729.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2008-10-21 17:35 <a href="http://www.blogjava.net/doneykoo/articles/235729.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Making Draggable Frames 【为wow插件编写可拖动的Frame】</title><link>http://www.blogjava.net/doneykoo/articles/235708.html</link><dc:creator>DoNeY</dc:creator><author>DoNeY</author><pubDate>Tue, 21 Oct 2008 08:11:00 GMT</pubDate><guid>http://www.blogjava.net/doneykoo/articles/235708.html</guid><wfw:comment>http://www.blogjava.net/doneykoo/comments/235708.html</wfw:comment><comments>http://www.blogjava.net/doneykoo/articles/235708.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/doneykoo/comments/commentRss/235708.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/doneykoo/services/trackbacks/235708.html</trackback:ping><description><![CDATA[<br />
FW: <u><em><a target="_blank" href="http://www.wowwiki.com/Making_Draggable_Frames">http://www.wowwiki.com/Making_Draggable_Frames</a></em></u><br />
<br />
<h2><span class="mw-headline">XML Declarations </span></h2>
<p>First, the XML tags movable="true" and enableMouse="true" must be in the frames declaration.
Note: Some frame templates like 'button' already include enableMouse="true".
</p>
<p>Example:
</p>
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Frame&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="TellTrackFrame"</span><span style="color: #ff0000;">&nbsp;enableMouse</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;movable</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;resizable</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;parent</span><span style="color: #0000ff;">="UIParent"</span><span style="color: #ff0000;">&nbsp;hidden</span><span style="color: #0000ff;">="true"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span></div>
<br />
<h2><span class="mw-headline">Simple Dragging </span></h2>
One simple way to detect drag is to add OnDragStart and OnDragStop script elements to the frame:
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Scripts</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">OnLoad</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;this:RegisterForDrag("LeftButton");<br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">OnLoad</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">OnDragStart</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;this:StartMoving();<br />
&nbsp;this.isMoving&nbsp;=&nbsp;true;<br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">OnDragStart</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">OnDragStop</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;this:StopMovingOrSizing();<br />
&nbsp;this.isMoving&nbsp;=&nbsp;false;<br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">OnDragStop</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Scripts</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span></div>
<br />
<h2><span class="mw-headline">Advanced Dragging </span></h2>
Another way, which is more responsive but requires an onhide element so that the frame wont get stuck to the mouse:
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Scripts</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">OnMouseUp</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;if&nbsp;(&nbsp;this.isMoving&nbsp;)&nbsp;then<br />
&nbsp;&nbsp;this:StopMovingOrSizing();<br />
&nbsp;&nbsp;this.isMoving&nbsp;=&nbsp;false;<br />
&nbsp;end<br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">OnMouseUp</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">OnMouseDown</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;if&nbsp;(&nbsp;(&nbsp;(&nbsp;not&nbsp;this.isLocked&nbsp;)&nbsp;or&nbsp;(&nbsp;this.isLocked&nbsp;==&nbsp;0&nbsp;)&nbsp;)&nbsp;and&nbsp;(&nbsp;arg1&nbsp;==&nbsp;"LeftButton"&nbsp;)&nbsp;)&nbsp;then<br />
&nbsp;&nbsp;this:StartMoving();<br />
&nbsp;&nbsp;this.isMoving&nbsp;=&nbsp;true;<br />
&nbsp;end<br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">OnMouseDown</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">OnHide</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;if&nbsp;(&nbsp;this.isMoving&nbsp;)&nbsp;then<br />
&nbsp;&nbsp;this:StopMovingOrSizing();<br />
&nbsp;&nbsp;this.isMoving&nbsp;=&nbsp;false;<br />
&nbsp;end<br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">OnHide</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Scripts</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span></div>
<br />
Note: this method also demonstrates an optional isLocked parameter to determine whether you can drag the frame or not.
<br />
<br />
<h2><span class="mw-headline">Parent Dragging </span></h2>
Some advanced dragging addons use overlays that make default Blizzard
frames draggable. This is possible by using GetParent when starting and
stopping drag. To do this, one must make the parent frame movable
through the use of the SetMovable widget function, i.e. <tt><em>frame</em>:SetMovable(true)</tt>.
One drawback with overlay frames that are mouse enabled is that they
will prevent the parent frame's click script tags from being called so
you often have to simulate their click events.
<br />
<br />
<h2><span class="mw-headline">Quick Dragging Code </span></h2>
While somewhat untested there is an easier and more automatic way to
activate dragging. If you have your &lt;Frame&gt; delcaration
attributes "enableMouse" and "movable" set to true, dragging may be
accomplished by adding a &lt;TitleRegion&gt; tag inside of your
&lt;Frame&gt;
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Frame&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="myname"</span><span style="color: #ff0000;">&nbsp;frameStrata</span><span style="color: #0000ff;">="HIGH"</span><span style="color: #ff0000;">&nbsp;toplevel</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;enableMouse</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;movable</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;parent</span><span style="color: #0000ff;">="UIParent"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">TitleRegion&nbsp;</span><span style="color: #ff0000;">setAllPoints</span><span style="color: #0000ff;">="true"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Frame</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span></div>
<br />
<p>I haven't discovered any adverse side effects to doing this yet, I am not even sure if this is the intended use for it.
</p>
<p>Using this method can result in the frame not responding to other mouse events, also both mouse buttons will drag the frame.
</p>
<p><br />
You can also specify &lt;Size&gt; and &lt;Anchors&gt; within &lt;TitleRegion&gt;, e.g. <br />
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Frame&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="myname"</span><span style="color: #ff0000;">&nbsp;frameStrata</span><span style="color: #0000ff;">="HIGH"</span><span style="color: #ff0000;">&nbsp;toplevel</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;enableMouse</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;movable</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;parent</span><span style="color: #0000ff;">="UIParent"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">TitleRegion</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Size</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">AbsDimension&nbsp;</span><span style="color: #ff0000;">x</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;">&nbsp;y</span><span style="color: #0000ff;">="20"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Size</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Anchors</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Anchor&nbsp;</span><span style="color: #ff0000;">point</span><span style="color: #0000ff;">="TOP"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Anchors</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">TitleRegion</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Frame</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span></div>
<br />
This way, your &lt;Frame&gt; can still receive mouse events, and you
can only drag it by clicking within its &lt;TitleRegion&gt;.
<br />
<br />
<h2><span class="mw-headline">Lua Only Approach </span></h2>
If your frame is called MyFrame -
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">MyFrame</span><span style="color: #000000;">:</span><span style="color: #000000;">SetMovable(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">)<br />
MyFrame</span><span style="color: #000000;">:</span><span style="color: #000000;">EnableMouse(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">)<br />
MyFrame</span><span style="color: #000000;">:</span><span style="color: #000000;">SetScript(</span><span style="color: #000000;">"</span><span style="color: #000000;">OnMouseDown</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #0000ff;">function</span><span style="color: #000000;">()<br />
&nbsp;&nbsp;MyFrame</span><span style="color: #000000;">:</span><span style="color: #000000;">StartMoving()<br />
</span><span style="color: #008080;">end</span><span style="color: #000000;">)<br />
MyFrame</span><span style="color: #000000;">:</span><span style="color: #000000;">SetScript(</span><span style="color: #000000;">"</span><span style="color: #000000;">OnMouseUp</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #0000ff;">function</span><span style="color: #000000;">()<br />
&nbsp;&nbsp;MyFrame</span><span style="color: #000000;">:</span><span style="color: #000000;">StopMovingOrSizing()<br />
</span><span style="color: #008080;">end</span><span style="color: #000000;">)<br />
</span></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/doneykoo/aggbug/235708.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/doneykoo/" target="_blank">DoNeY</a> 2008-10-21 16:11 <a href="http://www.blogjava.net/doneykoo/articles/235708.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>