<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[默语森林 - 心得体会]]></title>
  <subtitle type="html"><![CDATA[We believe that we can fly]]></subtitle>
  <id>http://mwoods.cn/</id>
  <link rel="alternate" type="text/html" href="http://mwoods.cn/" /> 
  <link rel="self" type="application/atom+xml" href="http://mwoods.cn/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.8">PJBlog3</generator> 
  <updated>2010-02-24T22:23:54+08:00</updated>

  <entry>
	  <title type="html"><![CDATA[悲剧的硬盘。。居然因为线的问题没开启DMA]]></title>
	  <author>
		 <name>murmur</name>
		 <uri>http://mwoods.cn/</uri>
		 <email></email>
	  </author>
	  <category term="" scheme="http://mwoods.cn/default.asp?cateID=5" label="心得体会" /> 
	  <updated>2010-02-24T22:23:54+08:00</updated>
	  <published>2010-02-24T22:23:54+08:00</published>
		  <summary type="html"><![CDATA[对。。。你没看错 这就是台式机硬盘。。。这是换线前的HDTONE测试图<br/><br/>当然换线后开启DMA了 速度60-80M/s就可以接受了<br/><img src="http://mwoods.cn/attachments/month_1002/r201022422249.jpg" border="0" alt=""/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mwoods.cn/article.asp?id=32" /> 
	  <id>http://mwoods.cn/default.asp?id=32</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[wow 3.3最流行天赋排行(来自wowpopular 1.23日版本)]]></title>
	  <author>
		 <name>murmur</name>
		 <uri>http://mwoods.cn/</uri>
		 <email></email>
	  </author>
	  <category term="" scheme="http://mwoods.cn/default.asp?cateID=5" label="心得体会" /> 
	  <updated>2010-01-23T19:25:31+08:00</updated>
	  <published>2010-01-23T19:25:31+08:00</published>
		  <summary type="html"><![CDATA[这个网站已经更新了ICC的装备 天赋数据也在更新<br/><br/>很遗憾的是尽管有人鼓吹深痛苦的威力 但是鬼火毁由于强爆发力 易上手 仍然受到玩家喜欢<br/><br/><img src="http://mwoods.cn/attachments/month_1001/n2010123192339.png" border="0" alt=""/><br/><br/><br/>尽管如此 0/58/13的野德相当的多。。虽然野德排在最后，一颗星也是德鲁伊天赋中最流行的 <br/><br/><img src="http://mwoods.cn/attachments/month_1001/i201012319244.png" border="0" alt=""/><br/><br/>暗牧最流行 戒律的排行也超过了神圣牧师 你也可以解读基本上双天赋都是暗+戒律或者暗+神圣 <br/><img src="http://mwoods.cn/attachments/month_1001/72010123192439.png" border="0" alt=""/><br/><br/><br/>刺杀+战斗 是流行组合么 刺杀的流行度看上去远远比战斗贼多<br/><img src="http://mwoods.cn/attachments/month_1001/r2010123192510.png" border="0" alt=""/><br/><br/><br/>想查看更多内容可以访问<a target="_blank" href="http://www.wowpopular.com/" rel="external">http://www.wowpopular.com</a><br/><br/>里面有装备、雕纹、天赋的排行(英语哦)<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mwoods.cn/article.asp?id=31" /> 
	  <id>http://mwoods.cn/default.asp?id=31</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[搜狗的网址自动补充 哎 差点重装系统]]></title>
	  <author>
		 <name>murmur</name>
		 <uri>http://mwoods.cn/</uri>
		 <email></email>
	  </author>
	  <category term="" scheme="http://mwoods.cn/default.asp?cateID=5" label="心得体会" /> 
	  <updated>2010-01-18T20:39:38+08:00</updated>
	  <published>2010-01-18T20:39:38+08:00</published>
		  <summary type="html"><![CDATA[<a href="http://www.yue365.com/play/8289/221617.shtml" target="_blank" rel="external">http://www.yue365.com/play/8289/221617.shtml</a><br/><br/>对 就是这个网址 是不是你也偶尔弹出来过？<br/><br/>自动蹦出来的yue365.com在网上搜没有流氓迹象 360检测&nbsp;&nbsp;nod32检测 sreng检测手动查杀均无问题 不像一个病毒<br/><br/>然后我在google上搜这个网站 居然在百度知道上搜到一样的问题 而且链接是紫色的！我推测弹出的应该也是这个窗口<br/><br/>之后我在google里搜完整网址 居然在搜狗拼音论坛里找到了这个问题<br/><br/>好了 真相大白 中文输入状态下输入L ;就自动补充这个网址并且打开<br/><br/>因为L就是listen 和听歌相关的网站 按;补充 自然会补充到一个音乐站]]></summary>
	  <link rel="alternate" type="text/html" href="http://mwoods.cn/article.asp?id=30" /> 
	  <id>http://mwoods.cn/default.asp?id=30</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[升级了却在用低等级技能？rankwatch:低等级技能提示]]></title>
	  <author>
		 <name>murmur</name>
		 <uri>http://mwoods.cn/</uri>
		 <email></email>
	  </author>
	  <category term="" scheme="http://mwoods.cn/default.asp?cateID=5" label="心得体会" /> 
	  <updated>2010-01-15T23:56:27+08:00</updated>
	  <published>2010-01-15T23:56:27+08:00</published>
		  <summary type="html"><![CDATA[<a href="http://www.wowinterface.com/downloads/info15404-RankWatch.html" target="_blank" rel="external">http://www.wowinterface.com/downloads/info15404-RankWatch.html</a><br/><br/>有高等级技能不用还在不小心用低等级的？升级了还忘记拖新技能上去？没关系 这个插件帮助你(for 3.3)<br/><br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://mwoods.cn/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">RankWatch will monitor the spells cast by you and other level 80 members of your party o&#114; raid and warn them if they are using a downranked spell.<br/><br/>While downranked spells were formerly used to save mana, this use is no longer supported, and while it is occasionally intended, the use of downranked spells is generally a mistake. Sometimes this happens when people forget to train at level 80, sometimes it happens when they spend talent points to obtain a spell which is not a base skill for the class (for example, a Death Knight&#39;s Frost Strike our Scourge Strike) but fail to train the ranks for the newly talented spell. In my experience, the most common cause is training while dual specced. For example, if you level up as a feral druid, you will train new ranks of Rejuvenation etc, but the new ranks will not appear on your bars when you change to the Resto spec.<br/><br/>There are a few special cases - Life Tap and Health Funnel are not reported, since Life Tap is often used by warlocks to proc the Glyph and stack trinkets, and Health Funnel costs less health at lower ranks. Polymorph is sometimes downranked to control the duration, for example, when a player is mind controlled. Rank 1 Frostbolt is used in pvp for the snare effect since its cast time is shorter. Two different ranks of Flamestrike may be alt&#101;rnated to allow stacking ground DOTs. Occasionally (Anub&#39;arak in ToC for example) healers may down rank to control the amount of healing, I suggest you simply disable the addon for this fight. If you know of other valid uses of downranked spells, please let me know.<br/><br/>You can turn off the auto-whisper, ignore downranks from certain players, get a report of all the downranked spells seen, and of course, disable the addon completely.<br/>Type /rankwatch for help.</div></div>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mwoods.cn/article.asp?id=29" /> 
	  <id>http://mwoods.cn/default.asp?id=29</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[剑侠情缘3(剑网3)安全函数ShieldFunctions]]></title>
	  <author>
		 <name>murmur</name>
		 <uri>http://mwoods.cn/</uri>
		 <email></email>
	  </author>
	  <category term="" scheme="http://mwoods.cn/default.asp?cateID=5" label="心得体会" /> 
	  <updated>2009-10-22T11:43:23+08:00</updated>
	  <published>2009-10-22T11:43:23+08:00</published>
		  <summary type="html"><![CDATA[今天偶然间在CWDG上看到有人发了 我一看ui.pak里还真的有<br/>虽然没有明确说哪些函数可以用 怎么用 不过倒是知道了被屏蔽的有多少<br/>而且 这次可以看出 邮件、物品使用也进入了这个SF的范围内 常规的IO 方向控制 GM指令就不说了<br/><br/>下面是官方写的代码 具体有多少用 不知道 没时间研究<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://mwoods.cn/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>_ShieldWeak = <br/>{<br/>}<br/>setmetatable(_ShieldWeak, {__mode = &#34;v&#34;})<br/><br/>_g_CurrentExcuteMacro = nil<br/><br/>_ShieldList = <br/>{<br/>&#160;&#160;&#160;&#160;[&#34;_G&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;_ShieldWeak&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;_ShieldList&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;setfenv&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;getfenv&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;io&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;os&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;Ini&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;Tab&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;dofile&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;loadfile&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;loadstring&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;dostring&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;load&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;require&#34;] = true<br/>&#160;&#160;&#160;&#160;[&#34;package&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;Camera_EnableControl&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;MoveForwardStart&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;MoveForwardStop&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;MoveBackwardStart&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;MoveBackwardStop&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;TurnLeftStart&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;TurnLeftStop&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;TurnRightStart&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;TurnRightStop&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;StrafeLeftStart&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;StrafeLeftStop&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;StrafeRightStart&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;StrafeRightStop&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;MoveUpStart&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;MoveUpStop&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;MoveDownStart&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;MoveDownStop&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;ShieldValue&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;ShieldTable&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;ShieldFunction&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;AutoMoveToTarget&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;AutoMoveToPoint&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;LoadScriptLib&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;LoadLoginScriptLib&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;LoadDefaultScriptLib&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;RemoteCallToServer&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;ActionBar_ButtonDown&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;ActionBar_ButtonUp&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;_g_CurrentExcuteMacro&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;GMMessage&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;GMCheck&#34;] = true,<br/>}<br/><br/>function ShieldValue(t, szKey)<br/>&#160;&#160;&#160;&#160;t[szKey] = true<br/>end<br/><br/>function ShieldTable(t, szTable, tShield)<br/>&#160;&#160;&#160;&#160;t[szTable] = function(tOwner)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;local result = tOwner[szTable]<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if not result then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return nil<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if _ShieldWeak[result] then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return _ShieldWeak[result]<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;local proxy = {}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;local mt = <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;__index = function(t, k)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if tShield[k] then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if type(tShield[k]) == &#34;function&#34; then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return tShield[k](result)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return nil<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return result[k]<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;__newindex = function(t, k, v)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if tShield[k] then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;result[k] = v<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;setmetatable(proxy, mt);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_ShieldWeak[result] = proxy<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return proxy<br/>&#160;&#160;&#160;&#160;end<br/>end<br/><br/>function ShieldFunction(t, szFunc, tResult, tParam, bInUserAction, szOnceKey)<br/>&#160;&#160;&#160;&#160;t[szFunc] = function(tOwner)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return function(...)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if _g_CurrentExcuteMacro then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if szOnceKey then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if _g_CurrentExcuteMacro.aOnce[szOnceKey] then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return nil<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_g_CurrentExcuteMacro.aOnce[szOnceKey] = true<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;else<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if bInUserAction and not Station.IsInUserAction() then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return nil<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if tParam then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;for k, v in pairs(tParam) do<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;local a = sel&#101;ct(k, ...)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if v[a] then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if type(v[a]) == &#34;function&#34; then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return v[a](...)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return nil<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if not tResult then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return tOwner[szFunc](...)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;local r = tOwner[szFunc](...)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if not r then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return nil<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if _ShieldWeak[r] then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return _ShieldWeak[r]<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;local proxy = {}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;local mt = <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;__index = function(t, k)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if tResult[k] then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if type(tResult[k]) == &#34;function&#34; then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return tResult[k](r)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return nil<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return r[k]<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;__newindex = function(t, k, v)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if tResult[k] then<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;r[k] = v<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;setmetatable(proxy, mt);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_ShieldWeak[r] = proxy<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return proxy<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br/>&#160;&#160;&#160;&#160;end<br/>end<br/><br/>local _WindowShild = <br/>{<br/>}<br/><br/>ShieldFunction(_WindowShild, &#34;Lookup&#34;, _WindowShild)<br/>ShieldFunction(_WindowShild, &#34;GetParent&#34;, _WindowShild)<br/>ShieldFunction(_WindowShild, &#34;GetFirstChild&#34;, _WindowShild)<br/>ShieldFunction(_WindowShild, &#34;GetNext&#34;, _WindowShild)<br/>ShieldFunction(_WindowShild, &#34;GetPrev&#34;, _WindowShild)<br/>ShieldFunction(_WindowShild, &#34;AppendItemFromIni&#34;, _WindowShild)<br/>ShieldFunction(_WindowShild, &#34;RegisterEvent&#34;, nil, {[2] = {[&#34;ON_REMOTE_COMMAND&#34;] = true}})<br/><br/>ShieldTable(_ShieldList, &#34;this&#34;, _WindowShild)<br/><br/>local _StationShild = <br/>{<br/>&#160;&#160;&#160;&#160;[&#34;IsInUserAction&#34;] = true,<br/>}<br/>ShieldFunction(_StationShild, &#34;Lookup&#34;, _WindowShild)<br/><br/>ShieldTable(_ShieldList, &#34;Station&#34;, _StationShild)<br/><br/>local _WndShild = <br/>{<br/>}<br/><br/>ShieldFunction(_WndShild, &#34;OpenWindow&#34;, _WindowShild)<br/><br/>ShieldTable(_ShieldList, &#34;Wnd&#34;, _WndShild)<br/><br/>ShieldFunction(_ShieldList, &#34;RegisterEvent&#34;, nil, {[2] = {[&#34;ON_REMOTE_COMMAND&#34;] = true}})<br/><br/>local _PlayerShild = <br/>{<br/>&#160;&#160;&#160;&#160;[&#34;CastSkill&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;UseItem&#34;] = true,<br/>}<br/><br/>ShieldFunction(_PlayerShild, &#34;TradingConfirm&#34;, nil, nil, true, &#34;Trading&#34;)<br/><br/>ShieldFunction(_ShieldList, &#34;GetPlayer&#34;, _PlayerShild)<br/>ShieldFunction(_ShieldList, &#34;GetClientPlayer&#34;, _PlayerShild)<br/><br/>ShieldFunction(_ShieldList, &#34;OnUseSkill&#34;, nil, nil, true, &#34;UseSkillOrItem&#34;)<br/>ShieldFunction(_ShieldList, &#34;OnUseItem&#34;, nil, nil, true, &#34;UseSkillOrItem&#34;)<br/>ShieldFunction(_ShieldList, &#34;ActionButtonDown&#34;, nil, nil, true, &#34;UseSkillOrItem&#34;)<br/>ShieldFunction(_ShieldList, &#34;ActionButtonUp&#34;, nil, nil, true, &#34;UseSkillOrItem&#34;)<br/><br/>ShieldFunction(_ShieldList, &#34;BuyItem&#34;, nil, nil, true, &#34;BuyItem&#34;)<br/>ShieldFunction(_ShieldList, &#34;SendMail&#34;, nil, nil, true, &#34;SendMail&#34;)<br/><br/>local _ActionBarShild = <br/>{<br/>&#160;&#160;&#160;&#160;[&#34;OnUseActionBarObject&#34;] = true,<br/>&#160;&#160;&#160;&#160;[&#34;OnItemLButtonClick&#34;] = true,<br/>}<br/><br/>ShieldTable(_ShieldList, &#34;ActionBar&#34;, _ActionBarShild)<br/></div></div>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mwoods.cn/article.asp?id=24" /> 
	  <id>http://mwoods.cn/default.asp?id=24</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[关于国服插件包两个插件的错误]]></title>
	  <author>
		 <name>murmur</name>
		 <uri>http://mwoods.cn/</uri>
		 <email></email>
	  </author>
	  <category term="" scheme="http://mwoods.cn/default.asp?cateID=5" label="心得体会" /> 
	  <updated>2009-08-26T22:04:40+08:00</updated>
	  <published>2009-08-26T22:04:40+08:00</published>
		  <summary type="html"><![CDATA[嗯 好久没上国服号了 今天打了次海山 才发现这两个插件有点问题<br/>1、Grid显示问题<br/><img src="http://www.mwoods.cn/attachments/month_0908/92009826215749.jpg" border="0" alt=""/><br/><br/>这个问题怎么说呢，具体现象就是提示Grid有汉化错误，然后输入/grid config的时候配置有两项不能显示，也就是25人和10人团队的模式那里是空白，导致Grid在25人副本里不能自动切换5x5布局。刚开始我还真检查了本地化文件，这个是在wowinterface上下载的，语法没问题啊，后来我把英文复制下来，在zhTW的本地化中一搜索，居然没有对应的字符串！难道是因为本地化文件太陈旧的缘故？<br/><br/>2、Decursive无法启动<br/><img src="http://www.mwoods.cn/attachments/month_0908/72009826215822.jpg" border="0" alt=""/><br/><br/>这个问题真的很诡异，因为Dcr的自动校验不是每个版本都开启的，这次为了适应国服用了个开发版本，所以才出现这种情况。为了减少压缩包大小，我会把不必要的语言文件删除，比如韩文、俄语等，结果这个版本的Dcr带有自动校验，文件缺失启动不了，郁闷。<br/><br/>解决办法：打开wow下的Interface\Addons\Decursive\Dcr_DIAG.lua<br/><br/>找到DcrLoadedFiles，将其中删除的文件在表中也删除。<br/><br/>改后应该是<br/><br/>DcrLoadedFiles = {<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_DIAG.lua&#34;]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;DCR_init.lua&#34;]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_LDB.lua&#34;]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_utils.lua&#34;]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;= false,<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;enUS.lua&#34;]&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;zhCN.lua&#34;]&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_opt.lua&#34;]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_Events.lua&#34;]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_Raid.lua&#34;]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Decursive.lua&#34;]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_lists.lua&#34;]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_DebuffsFrame.lua&#34;]&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_LiveList.lua&#34;]&#160;&#160;&#160;&#160;= false,<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_DebuffsFrame.xml&#34;]&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_lists.xml&#34;]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Dcr_LiveList.xml&#34;]&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;[&#34;Decursive.xml&#34;]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;= false,<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>};<br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mwoods.cn/article.asp?id=20" /> 
	  <id>http://mwoods.cn/default.asp?id=20</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[终于研究明白KS地图用的表了]]></title>
	  <author>
		 <name>murmur</name>
		 <uri>http://mwoods.cn/</uri>
		 <email></email>
	  </author>
	  <category term="" scheme="http://mwoods.cn/default.asp?cateID=5" label="心得体会" /> 
	  <updated>2009-07-22T11:08:23+08:00</updated>
	  <published>2009-07-22T11:08:23+08:00</published>
		  <summary type="html"><![CDATA[<img src="http://mwoods.cn/attachments/month_0907/l200972211750.jpg" border="0" alt=""/><br/><br/>哎。。。这么简单的数据结构怎么早没发现<br/><br/>难道是今天日食来了特异功能]]></summary>
	  <link rel="alternate" type="text/html" href="http://mwoods.cn/article.asp?id=13" /> 
	  <id>http://mwoods.cn/default.asp?id=13</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[剑侠3 官方界面 0720(部分)Lua+Ini]]></title>
	  <author>
		 <name>murmur</name>
		 <uri>http://mwoods.cn/</uri>
		 <email></email>
	  </author>
	  <category term="" scheme="http://mwoods.cn/default.asp?cateID=5" label="心得体会" /> 
	  <updated>2009-07-20T22:08:58+08:00</updated>
	  <published>2009-07-20T22:08:58+08:00</published>
		  <summary type="html"><![CDATA[<img src="http://mwoods.cn/images/download.gif" alt="下载文件" style="margin:0px 2px -4px 0px"/> <a href="http://mwoods.cn/attachments/month_0907/z200972022739.rar" target="_blank">点击下载此文件</a><br/><br/>文件名和原始路径已经还原<br/><br/>可能不全<br/><br/>因为更新界面也只一部分而已 最特别就那个阴影字<br/><br/>注：仅供学习用 <br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mwoods.cn/article.asp?id=12" /> 
	  <id>http://mwoods.cn/default.asp?id=12</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[剑侠3窗体结构(2)]]></title>
	  <author>
		 <name>murmur</name>
		 <uri>http://mwoods.cn/</uri>
		 <email></email>
	  </author>
	  <category term="" scheme="http://mwoods.cn/default.asp?cateID=5" label="心得体会" /> 
	  <updated>2009-07-07T23:13:18+08:00</updated>
	  <published>2009-07-07T23:13:18+08:00</published>
		  <summary type="html"><![CDATA[好不容易写的IDE有要返工了，我本来想借助VB自己的picture形成层，结果发现剑侠3的层是有阿尔法值的，也就是说完全可以在最底下铺图，然后让上面的所有层透明，而目前我还没找到方法可以让picture整个透明，倒是在里面透明画图是可以的，但是新的问题又来了：把所有的控件画到一个picture里，怎么编辑，或者说如何把他们识别出来？<br/><br/>继续谈谈剑网3的窗体结构吧。剑侠3是用的ini的窗体，程序实现倒是比较简单，现在不需要.net就可以实现ini的读取，就是层次不是很清晰，反正是有利有弊。<br/><br/>一个类似的窗体应该是标准的INI结构，其每个控件也有相同的段格式。<br/><br/>如果你只是想要启动窗体，只需要在对应的lua里写上一句话，比如：<br/><br/><span style="color:Red">Wnd.OpenWindow(&#34;Interface\\zRecount\\Recount.ini&#34;, &#34;Recount&#34;)</span><br/><br/>这就是zRecount用的，简单但是足够了，想写在init里也行，这无所谓。<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://mwoods.cn/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>[窗体名]<br/>._WndType=WndFrame<br/>._Parent=Normal ;这里可以不是Normal，我见过用topmost的<br/>Left=30 ;这几个尺寸没什么研究的意义<br/>Top=150<br/>Width=768<br/>Height=512<br/>MinWidth=0<br/>MinHeight=0<br/>MaxWidth=0<br/>MaxHeight=0<br/>DragAreaLeft=0 ;这里是控制可以拖拽的区域的，通过组合这里的数据可以描述拖拽的区域<br/>DragAreaTop=0<br/>DragAreaRight=310<br/>DragAreaBottom=30<br/>AnimateStartPosX=0 ;和动画有关的，暂时解读不能<br/>AnimateStartPosY=0<br/>AnimateEndPosX=0<br/>AnimateEndPosY=0<br/>AnimateTimeSpace=0<br/>AnimateMoveSpeed=0<br/>ScriptFile=interface\插件目录\lua文件名<br/>IsCustomDragable=0<br/>DragAreaWidth=0<br/>DragAreaHeight=0<br/>DummyWnd=0 ;下面三行不必须，recount的窗体就没用这个，具体还是解读不明<br/>DisableBreath=1<br/>DisableBringToTop=1<br/></div></div><br/><br/>接下来是另外一种重要的控件，层。层上可以放控件，也可以放置其他的层<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://mwoods.cn/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>._WndType=Handle<br/>._Parent=MyFrame ;父框架，可以是窗体，也可以是其他的层<br/>HandleType=0 ;这里0代表只是一个窗体，如果改变这里可能是其他的控件，比如list<br/>FirstItemPosType=0<br/>Left=0<br/>Top=0<br/>PosType=0<br/>Width=771<br/>Height=517<br/></div></div><br/><br/>下面介绍两种背景控件，阴影和图片，如果一个窗体没有设置阴影或者图片背景，它将是完全透明<br/><br/>阴影：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://mwoods.cn/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>._WndType=Shadow ;这里表示它是个阴影<br/>._Parent=Handle_Title<br/>ShadowColor=red2 ;颜色，囧了，没对应表么<br/>Alpha=200 ;阿尔法值，设置透明度用，越高越深，255最大值<br/>Left=0<br/>Top=0<br/>PosType=0<br/>Width=200<br/>Height=20<br/></div></div><br/><br/>图片：一个图片对应着一个UITex，目前用的公用Uitex有两个，一个是CommonPanel，表示窗体的各个部分，还有一个是按钮。具体对应关系需要查看游戏资源。<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://mwoods.cn/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>._WndType=Image ;图片的标志<br/>._Parent=Handle_UI<br/>Image=ui\Image\UICommon\CommonPanel.UITex ;图片的文件名<br/>Frame=2;编号<br/>Left=0<br/>Top=5<br/>PosType=0 ;摆放类型，很重要，因为有的图片是平铺的，比如窗体背景，用很细的一条平铺了整个窗体。<br/>Alpha=255<br/></div></div><br/><br/>其他常用的控件有<br/>&nbsp;&nbsp;&nbsp;&nbsp;WndButton 按钮<br/>&nbsp;&nbsp;&nbsp;&nbsp;Text 文字<br/>&nbsp;&nbsp;&nbsp;&nbsp;Animate 动画<br/>&nbsp;&nbsp;&nbsp;&nbsp;WndCheckBox 复选框(需要手动设置图片)<br/>&nbsp;&nbsp;&nbsp;&nbsp;WndEdit文本框<br/>&nbsp;&nbsp;&nbsp;&nbsp;WndNewScrollBar 滚动条<br/>以后再慢慢介绍吧。。。实在太多了。不知道什么时候能做出IDE来，实在不行就得考虑换vb.net 甚至放弃咯。]]></summary>
	  <link rel="alternate" type="text/html" href="http://mwoods.cn/article.asp?id=10" /> 
	  <id>http://mwoods.cn/default.asp?id=10</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[剑侠3窗体结构]]></title>
	  <author>
		 <name>murmur</name>
		 <uri>http://mwoods.cn/</uri>
		 <email></email>
	  </author>
	  <category term="" scheme="http://mwoods.cn/default.asp?cateID=5" label="心得体会" /> 
	  <updated>2009-07-03T01:20:09+08:00</updated>
	  <published>2009-07-03T01:20:09+08:00</published>
		  <summary type="html"><![CDATA[终于考完射频了，今晚又重新研究了下剑侠3的窗体结构，结果发现以前编辑器的代码有问题，只能砍了重写。<br/>其实问题也不大，本以为所有的ini都以排列顺序“表示”层次结构，也就是“很天真”的认为一个控件所需要的层一定在这个控件的代码之前出现，结果不是，事实上这个顺序可以很乱，因为ini的某段中._Parent一项就表示了此控件隶属于某层。<br/><br/>比如对于泄密的recount来说，几个层次结构为<br/>第一层：Recount<br/>第二层：Wnd_Title,Wnd_Output<br/>第三层：Handle_Title,Btn_Close,Btn_Clear,Btn_Config,Btn_Speak,Handle_Output<br/>第四层：Shadow_Title,Shadow_Output,Shadow_Entry_1,Text_Entry_L1,Text_Entry_R1,Shadow_Entry_2,Text_Entry_L2,Text_Entry_R2,Shadow_Entry_3,Text_Entry_L3,Text_Entry_R3,Shadow_Entry_4,Text_Entry_L4,Text_Entry_R4,Shadow_Entry_5,Text_Entry_L5,Text_Entry_R5<br/><br/>对于窗体本身来说，由于还没测试什么都不加的窗体是什么颜色，这里也无法断言，不过肯定的是，一个和游戏里一样的对话框，需要自己拼合每个部分，包括四个角，标题，边框，以及平铺的背景，这些图以btex和图片在btex的编号(可以查询到对应的尺寸、位置)，recount里所用的背景是shadow也就是纯颜色，而需要图片背景则需要image对象，然后把image放到某个handle里。<br/><br/>这是我裁切出的标准UI的一部分，很明显有些尺寸很不够，需要在image里设定平铺<br/><img src="http://mwoods.cn/attachments/month_0907/t20097311934.jpg" border="0" alt=""/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mwoods.cn/article.asp?id=9" /> 
	  <id>http://mwoods.cn/default.asp?id=9</id>
  </entry>	
		
</feed>
