锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧洲性大片xxxxx久久久,久久亚洲精品中文字幕,久久精品人成免费http://m.shnenglu.com/sunicdavy/category/11296.html璁ㄨ緹?309800774 鐭ヤ箮鍏蟲敞:http://zhihu.com/people/sunicdavy 寮婧愰」鐩?https://github.com/davyxuzh-cnMon, 27 Dec 2021 17:00:48 GMTMon, 27 Dec 2021 17:00:48 GMT60Event瀵瑰簲Entitas鐨凣etTrigger+Collectorhttp://m.shnenglu.com/sunicdavy/archive/2021/12/27/217896.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Mon, 27 Dec 2021 11:05:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2021/12/27/217896.htmlhttp://m.shnenglu.com/sunicdavy/comments/217896.htmlhttp://m.shnenglu.com/sunicdavy/archive/2021/12/27/217896.html#Feedback0http://m.shnenglu.com/sunicdavy/comments/commentRss/217896.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/217896.html闃呰鍏ㄦ枃

鎴橀瓊灝忕瓚 2021-12-27 19:05 鍙戣〃璇勮
]]>
Qt 4.8.x 鍗囩駭鍒癚t5.x鐨勫悇縐嶅潙http://m.shnenglu.com/sunicdavy/archive/2014/03/01/206000.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Sat, 01 Mar 2014 06:25:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2014/03/01/206000.htmlhttp://m.shnenglu.com/sunicdavy/comments/206000.htmlhttp://m.shnenglu.com/sunicdavy/archive/2014/03/01/206000.html#Feedback3http://m.shnenglu.com/sunicdavy/comments/commentRss/206000.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/206000.htmlQt5 宸叉槗涓? 鑴戞畫鐨勪簨鎯呬篃騫茬殑瓚婃潵瓚婂.

鐪媞t涓嬭澆欏?/a>鐨凲t鐨剋indows鐗堟湰榛樿鎻愪緵32浣嶅拰64浣? 閭d釜鍟pengl鐗堟殏鏃舵湭鐞嗕細

鍥犱負鏈漢緋葷粺鏄痺in7 64bit, 鍥犳姣棤鐞嗙敱鐨勪笅杞戒簡64浣嶇殑qt5.2鐗堟湰. 緙栬瘧浜唄ello world, 緇撴灉鎶ラ敊:

module machine type 'x64' conflicts with target machine type 'X86'

鎵句簡鍗婂ぉ娌℃煡鍒伴敊璇? 鍚庨潰娉ㄦ剰鍒皏s2012鐨勫伐紼嬬紪璇戠被鍨嬮夋嫨鐨勬槸win32 x86, 鎵嶆兂璧鋒槸鐢變簬qt5鐨勬墍鏈塴ib鏄?4浣嶇紪璇? 鑰屾垜浣跨敤32浣嶇殑紼嬪簭鍘婚摼鎺? 褰撶劧瑕佹姤閿?

閲嶆柊涓嬭澆32浣嶇殑qt5.2, 緙栬瘧姝g‘

 

鍙﹀涓涓敊璇篃鏄湪鍓嶉潰鐗堟湰鏋佷負灝戣鐨?

fatal error C1083: Cannot open include file: 鈥橤LES2/gl2.h鈥? No such file or directory

寰堝浜虹殑瑙e喅鏂規硶鏄寘鍚玅tANGLE涓嬬殑gles2鐩綍, 浣嗘槸鐢變簬鎴戠殑宸ョ▼鍐呯殑cocos2dx鏈韓涔熷甫鏈夎繖涓滆タ. 浜庢槸鐮旂┒浜嗕笅涓哄暐榪欑増鏈殑qt榛樿瑕佹悶鐨勯潪瑕佸拰gles鏈夊叧緋?

鏈緇? 鍙戠幇鍙互閫氳繃瀹氫箟QT_NO_OPENGL瀹忔潵灞忚斀opengl鐨勬覆鏌揂PI浣跨敤, 緙栬瘧閫氳繃

 

寰堟槸鎬蹇佃鍩轟簹鏃朵唬鐨剄t, 涓嬭澆,緙栬瘧涓姘斿懙鎴?/p>

鎴橀瓊灝忕瓚 2014-03-01 14:25 鍙戣〃璇勮
]]>
Qt搴旂敤紼嬪簭浣跨敤鍥懼艦瑙g爜鏃犳硶鏄劇ず鐨勯棶棰?/title><link>http://m.shnenglu.com/sunicdavy/archive/2013/08/10/202448.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Sat, 10 Aug 2013 01:44:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2013/08/10/202448.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/202448.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2013/08/10/202448.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/202448.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/202448.html</trackback:ping><description><![CDATA[<p>鏈榪戝彂鐜頒竴涓猀t鍐欑殑鍒囧浘杞歡, 瀵煎叆PNG鍥劇墖鍙互鏄劇ず, 鑰孞PEG鍥劇墖鏃犳硶鏄劇ず. 寮鍙戞満姝e父. Google浜嗕竴涓? 鍙戠幇Qt閫氳繃澶栭儴鎻掍歡鏈哄埗鏀寔鍚勭鎵╁睍鍔熻兘. </p> <p>鍦ㄥ惎鍔ㄥ墠, 娣誨姞濡備笅浠g爜:</p> <p>QApplication qapp(argc, argv);    </p> <p>qapp.addLibraryPath(QCoreApplication::applicationDirPath()+"/plugins");<br></p> <p>灝哘T寮鍙戠洰褰曚笅: Qt\4.8.2\plugins\鎷瘋礉鍒癚t鐨別xe鐩綍鍗沖彲</p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/202448.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2013-08-10 09:44 <a href="http://m.shnenglu.com/sunicdavy/archive/2013/08/10/202448.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍒囨崲Qt鐗堟湰, 淇敼$(QTDIR)鎸囧悜http://m.shnenglu.com/sunicdavy/archive/2012/07/14/183384.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Sat, 14 Jul 2012 07:35:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2012/07/14/183384.htmlhttp://m.shnenglu.com/sunicdavy/comments/183384.htmlhttp://m.shnenglu.com/sunicdavy/archive/2012/07/14/183384.html#Feedback0http://m.shnenglu.com/sunicdavy/comments/commentRss/183384.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/183384.html鏈榪戜粠Qt4.7.0 鍗囩駭鍒?Qt4.8.2, 瑁呭ソ浜嗘柊鐨刼pen sdk, 浣嗘槸瑙傚療宸ョ▼涓殑寮曠敤渚濇棫鏄?.7.0

鍦╓indows鐜鍙橀噺涓病鏈夋壘鍒?(QTDIR)

闅忓嵆鍦≦t鐨刅isual Studio 鎻掍歡鑿滃崟涓? Qt->Qt Options-> Qt Versions

璁劇疆Default Qt/Win version涓烘柊鐗堟湰

閫変腑鍘熸湁鐨凲t宸ョ▼, 鍦ㄦ彃浠惰彍鍗曚腑鎵懼埌Qt Project Settings->Properties->Version涓?灝嗙増鏈緗負鏈鏂扮増鏈?/p>

濡傛灉瑁呮湁Visual AssitX, 姝ゆ椂榪欎笢瑗垮簲璇ュ紑濮婸arse鏂扮殑Qt搴撲簡

have fun 寰瑧!



鎴橀瓊灝忕瓚 2012-07-14 15:35 鍙戣〃璇勮
]]>
姝g‘鏀跺埌Qt灞炴ф帶浠朵腑杈撳叆妗嗘秷鎭?/title><link>http://m.shnenglu.com/sunicdavy/archive/2011/05/06/145846.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Fri, 06 May 2011 13:11:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2011/05/06/145846.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/145846.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2011/05/06/145846.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/145846.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/145846.html</trackback:ping><description><![CDATA[<p>QtPropertyBrowser2.5涓殑瀛楃涓插睘鎬у搴旂殑淇敼鏂瑰紡鏄竴涓緭鍏ユ,OnValueChange鏄湪姣忔閿叆瀛楃鏃跺彂閫佷竴嬈?榪欎釜瀵逛簬緙栬緫鍣ㄩ渶瑕佺殑閫昏緫鏉ヨ鏄竴縐嶇伨闅? Ogitor淇敼浜嗗叾婧愮爜,瑙e喅浜嗚繖涓棶棰?</p> <p>qteditorfactory.h 涓?/p> <p>QtLineEditFactory綾繪坊鍔犲涓嬩唬鐮?綰㈣壊鏍囪瘑</p><pre class="csharpcode"><span id="ntbthz9" class="kwrd">class</span> QT_QTPROPERTYBROWSER_EXPORT QtLineEditFactory : <span id="9bb9ftj" class="kwrd">public</span> QtAbstractEditorFactory<QtStringPropertyManager> { Q_OBJECT <span id="r7hvlll" class="kwrd">public</span>: QtLineEditFactory(QObject *parent = 0); ~QtLineEditFactory(); <span id="rzb9j1l" class="kwrd">protected</span>: <span id="jtz7l9v" class="kwrd">void</span> connectPropertyManager(QtStringPropertyManager *manager); QWidget *createEditor(QtStringPropertyManager *manager, QtProperty *property, QWidget *parent); <span id="d9991xr" class="kwrd">void</span> disconnectPropertyManager(QtStringPropertyManager *manager); <span id="dxbj799" class="kwrd">private</span>: QtLineEditFactoryPrivate *d_ptr; Q_DECLARE_PRIVATE(QtLineEditFactory) Q_DISABLE_COPY(QtLineEditFactory) Q_PRIVATE_SLOT(d_func(), <span id="tlprfrn" class="kwrd">void</span> slotPropertyChanged(QtProperty *, <span id="lxxrvtj" class="kwrd">const</span> QString &)) Q_PRIVATE_SLOT(d_func(), <span id="jlnrl7b" class="kwrd">void</span> slotRegExpChanged(QtProperty *, <span id="97b71h9" class="kwrd">const</span> QRegExp &)) Q_PRIVATE_SLOT(d_func(), <span id="x7r9l7x" class="kwrd">void</span> slotSetValue(<span id="9rlh9fz" class="kwrd">const</span> QString &)) <font color="#ff0000"> Q_PRIVATE_SLOT(d_func(), <span id="17d9b9d" class="kwrd">void</span> slotEditingFinished())</font> Q_PRIVATE_SLOT(d_func(), <span id="1r9fh99" class="kwrd">void</span> slotEditorDestroyed(QObject *)) }; </pre><pre class="csharpcode"> </pre><pre class="csharpcode">qteditorfactory.cpp涓?/pre><pre class="csharpcode"><span id="7x7x7dl" class="kwrd">class</span> QtLineEditFactoryPrivate : <span id="7p7f9p9" class="kwrd">public</span> EditorFactoryPrivate<QLineEdit> { QtLineEditFactory *q_ptr; Q_DECLARE_PUBLIC(QtLineEditFactory) <span id="x9vd7n7" class="kwrd">public</span>: <span id="p9j9btn" class="kwrd">void</span> slotPropertyChanged(QtProperty *property, <span id="ll7t179" class="kwrd">const</span> QString &<span id="19rfh9t" class="kwrd">value</span>); <span id="vvfz9bl" class="kwrd">void</span> slotRegExpChanged(QtProperty *property, <span id="fz79999" class="kwrd">const</span> QRegExp &regExp); <span id="dhjd7bp" class="kwrd">void</span> slotSetValue(<span id="7pdxj97" class="kwrd">const</span> QString &<span id="7d7779v" class="kwrd">value</span>); <font color="#ff0000"> <span id="1hpj99h" class="kwrd">void</span> slotEditingFinished();</font> }; </pre><pre class="csharpcode"><font color="#ff0000"><span id="19b7bp9" class="kwrd">void</span> QtLineEditFactoryPrivate::slotEditingFinished() { QObject *<span id="hz7vlvd" class="kwrd">object</span> = q_ptr->sender(); <span id="hpjv7tb" class="kwrd">const</span> QMap<QLineEdit *, QtProperty *>::ConstIterator ecend = m_editorToProperty.constEnd(); <span id="9rhbhpp" class="kwrd">for</span> (QMap<QLineEdit *, QtProperty *>::ConstIterator itEditor = m_editorToProperty.constBegin(); itEditor != ecend; ++itEditor) <span id="tvfj7zp" class="kwrd">if</span> (itEditor.key() == <span id="t7bzv7f" class="kwrd">object</span>) { QtProperty *property = itEditor.<span id="zb7xdlt" class="kwrd">value</span>(); QtStringPropertyManager *manager = q_ptr->propertyManager(property); <span id="j79jz97" class="kwrd">if</span> (!manager) <span id="ppr7b9t" class="kwrd">return</span>; QString <span id="rjf797x" class="kwrd">value</span> = static_cast<QLineEdit*>(itEditor.key())->text(); manager->setValue(property, <span id="xzln7d7" class="kwrd">value</span>); <span id="9z97xv9" class="kwrd">return</span>; } }</font> </pre><pre class="csharpcode">QWidget *QtLineEditFactory::createEditor(QtStringPropertyManager *manager, QtProperty *property, QWidget *parent) { QLineEdit *editor = d_ptr->createEditor(property, parent); QRegExp regExp = manager->regExp(property); <span id="f9pb77p" class="kwrd">if</span> (regExp.isValid()) { QValidator *validator = <span id="9ptxvnl" class="kwrd">new</span> QRegExpValidator(regExp, editor); editor->setValidator(validator); } editor->setText(manager-><span id="97hnbbr" class="kwrd">value</span>(property)); <font color="#ff0000"> connect(editor, SIGNAL(editingFinished()), <span id="bvprdb7" class="kwrd">this</span>, SLOT(slotEditingFinished()));</font> connect(editor, SIGNAL(destroyed(QObject *)), <span id="9xvfjp7" class="kwrd">this</span>, SLOT(slotEditorDestroyed(QObject *))); <span id="jl7plrp" class="kwrd">return</span> editor; } </pre><pre class="csharpcode"> </pre><pre class="csharpcode">榪欐牱鏃㈠彲鍦ㄨ緭鍏ュ洖杞﹂敭,鎴栬呰緭鍏ユ澶卞幓鐒︾偣鍚庝駭鐢熶竴涓狾nValueChange浜嬩歡</pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style><img src ="http://m.shnenglu.com/sunicdavy/aggbug/145846.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2011-05-06 21:11 <a href="http://m.shnenglu.com/sunicdavy/archive/2011/05/06/145846.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>QtPropertyBrowser鐨勬柊涓嬭澆浣嶇疆http://m.shnenglu.com/sunicdavy/archive/2010/12/31/137816.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Fri, 31 Dec 2010 14:36:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2010/12/31/137816.htmlhttp://m.shnenglu.com/sunicdavy/comments/137816.htmlhttp://m.shnenglu.com/sunicdavy/archive/2010/12/31/137816.html#Feedback1http://m.shnenglu.com/sunicdavy/comments/commentRss/137816.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/137816.htmlQt涓嬬殑灞炴ф帶浠禥tPropertyBrowser鍦℅oogle涓祫鏂欏緢灝戯紝鑰屼笖鍦ㄥ緢澶氫粙緇嶇殑鏂囩珷閲岀殑涓嬭澆鍦板潃閮芥寚鍚戜簡QtMobility,榪欎釜涓滆タ璺熼潪鎵嬫満騫沖彴娌℃湁澶ぇ鍏崇郴銆傛壘浜嗗緢涔咃紝鍙戠幇鍦?a >http://qt.nokia.com/downloads欏甸潰鐨勫彸涓嬭鏈変竴涓狥TP閾炬帴錛?/p>

ftp://ftp.qt.nokia.com/

鎻愮ず涔熷啓鐫鍦ㄨ繖閲屽彲浠ヤ笅杞藉埌浠ュ墠鐨勪竴浜決t鍖?/p>

鍦ㄩ噷闈㈢粓浜庡彲浠ユ壘鍒?a href="ftp://ftp.qt.nokia.com/qt/solutions/lgpl/qtpropertybrowser-2.5_1-opensource.zip">qtpropertybrowser-2.5_1-opensource.zip

涓嬭澆鍚庯紝鐢╒isualStudio鐨凲t鎻掍歡鎵撳紑pro錛屾湁渚嬪瓙鏈夎緗ソ鐨勫伐紼嬶紝榪樻剚鏂囨。涔堬紝鍛靛懙



鎴橀瓊灝忕瓚 2010-12-31 22:36 鍙戣〃璇勮
]]>
C++鐣岄潰搴撶殑鎶夋嫨http://m.shnenglu.com/sunicdavy/archive/2010/07/28/121477.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Wed, 28 Jul 2010 09:22:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2010/07/28/121477.htmlhttp://m.shnenglu.com/sunicdavy/comments/121477.htmlhttp://m.shnenglu.com/sunicdavy/archive/2010/07/28/121477.html#Feedback28http://m.shnenglu.com/sunicdavy/comments/commentRss/121477.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/121477.htmlC++鐨勭晫闈㈠簱緇忚繃鍑犲ぉ鏉ョ殑鎼滅儲錛屾葷粨浜嗕笅闈㈠嚑縐嶇殑浼樼己鐐?/p>

1. MFC

   浼樼偣錛歏S2008浠ュ強VS2010鐨勬墿灞曠‘瀹炲緢寮哄ぇ錛岀壒鍒槸鍘熺敓鐨勭獥鍙h繍琛屾椂鍋滈潬浠ュ強PropertyGrid紜疄寰堝己澶?/p>

   緙虹偣錛氶粯璁ゅ瓧浣撳緢妯$硦錛屾棤璁轟綘瀵筂FC澶氫簡瑙o紝C++澶氱啛鎮夛紝姣忔鍐欎唬鐮佹椂渚濈劧瑕侀噸鏂扮啛鎮変唬鐮侊紝鏇翠笉鐢ㄦ彁鍒嗘瀽鍒漢鍐欑殑MFC浠g爜錛屼竴涓瓧錛氫貢銆?/p>

2. WTL

   浼樼偣錛歐indows涓嬫湁涓渶濂界殑渚嬪瓙錛欸oogle Chrome

   緙虹偣錛氱己涔忚璁″櫒錛屾枃妗d緥瀛愬緢灝?/p>

3. wxWidgets

   浼樼偣錛氳櫄騫?緙栬緫鍣ㄥ湪鐢紙涓嶆槸騫垮憡錛夛紝wxAUI鐨勫竷灞璁捐鍣ㄥ緢鏂逛究錛學indows鍘熺敓鐣岄潰寰堣垝鏈嶏紝鍚勭鍔熻兘灝佽閮藉緢鍒頒綅銆?/p>

   緙虹偣錛氬竷灞娌℃湁綾諱技GTK+鐨凢ixed緇濆鍧愭爣鏂瑰紡錛圵indows SDK榛樿鐨勫乏涓婅鍍忕礌瀹氫綅鏂瑰紡錛夛紝鍦ㄦ煇浜涚晫闈㈡樉寰楄璁¢夯鐑︺?鍔ㄦ侀摼鎺ュ簱澶氱殑鍚撲漢錛屽伐紼嬭繃浜庤噧鑲褲?/p>

4. Qt, GTK+

    鎹Windows涓嬩笉鏄緢濂界敤銆?/p>

5. DirectUI

    鏈夊緢澶氫釜浜哄皝瑁呯被浼煎姛鑳界殑搴撱傜晫闈紝浠g爜鍒嗙, 浣?9%閮芥槸鏀惰垂

6. C# Windows Form

    榪欐槸寰堝ソ鐨勯夋嫨錛岃璦鏂歸潰鍙互鐢–++/CLI 鍏嶅緱杞崲璇█

   鑷敱鍋滈潬鍔熻兘鍙互浣跨敤WeiFenLuo.winFormsUI.Docking 闈炲父綆鍗?/p>

7. WPF

   鏈夌闉嬪凡緇忎嬌鐢∕FC/C++閫氳繃鍔犺澆XML鏄劇ず鐣岄潰錛屼笉榪囬氳繃璧勬枡鏄劇ず錛學PF鐨勬帶浠跺緢灝戯紝鐢氳嚦榪炲師鐢熺殑PropertyGrid閮芥病鏈夛紝璁捐鍣ㄥ掓槸寰堝崕涓?/p>

 

鎬葷粨錛氱晫闈㈠簱鐨勯夋嫨鏈閲嶈鐨勪竴鐐瑰氨鏄湅鏈夋病鏈夊緢濂界殑璁捐鍣紝榪欎釜鏄珮鏁堝紑鍙戠殑閲嶄腑涔嬮噸銆傛垜灝婇噸MFC錛屾暚浠癕FC錛屽畠浣滀負C++鐨勬鏋跺簱鏉ヨ寰堜笉閿欙紝浣嗘槸瀵逛簬鐣岄潰璁捐榪樻槸榪囪佷簡銆傛垜浠紑鍙戠殑鏄駭鍝侊紝鍑虹殑鏄▼搴忥紝鑰屼笉鏄爺絀禡FC錛屾庢牱鐢ㄥソMFC銆?/p>

鎴橀瓊灝忕瓚 2010-07-28 17:22 鍙戣〃璇勮
]]>
LemonComposer 2D娓告垙鍔ㄧ敾寮鍙戝伐鍏?/title><link>http://m.shnenglu.com/sunicdavy/archive/2010/02/05/107257.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Fri, 05 Feb 2010 06:58:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2010/02/05/107257.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/107257.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2010/02/05/107257.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/107257.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/107257.html</trackback:ping><description><![CDATA[<p>Lemon鏄湰浜哄紑鍙戠殑涓濂楅傜敤浜?D娓告垙鍔ㄧ敾鍜岄珮綰ф父鎴忔鏋跺強閰嶅緙栬緫鍣紙LemonComposer錛?/p> <blockquote> <p>Lemon緋葷粺鐗規э細</p> <p>1. 鏀寔 Canvas,Sprite,ImageSet錛堝浘鐗囧撫瀛樺偍浜庝竴寮犲浘鐗囷紝絳夊ぇ灝忥級</p> <p>2. ImageSetEx錛堣嚜鐢辨憜鏀劇殑鍥劇墖甯т簬涓寮犲浘鐗囷級*</p> <p>3. 鏀寔瀵硅薄鏃犲叧閿撫鏃朵嬌鐢ㄩ潤鎬佸睘鎬ц繘琛岃緗紝綾諱技浜嶩GE閲岀殑綺劇伒</p> <p>4. 姣忎釜瀵硅薄鍧囧彲鎴愪負Container錛屽茍鎷ユ湁Child Node</p> <p>5. 鍔ㄧ敾鍏抽敭甯х被鍨嬫敮鎸侊細緙╂斁錛屾棆杞紝浣嶇Щ錛岄鑹詫紝鍔ㄧ敾甯э紝閿氱偣錛岄煶鏁?</p> <p>6. 鏀寔鎷懼彇</p> <p>7. 鍩轟簬XML瀛樺偍鐨勬枃浠舵牸寮?/p> <p>8. 鍩轟簬<a >Squirrel</a>鏉鵑紶鑴氭湰鐨勯珮閫熼潰鍚戝璞¤剼鏈?</p> <p>9. 鍥懼艦緋葷粺Graphics鎶借薄錛岄傜敤浜庝換浣曟覆鏌撹澶?/p> <p>10. 鎺т歡緋葷粺*</p> <p>11. 瑙嗛鍥炴斁*</p> <p>鎵鏈夊璞″潎鐢盧TTI鍒涘緩錛屾灇涓懼潎鏈塏amePool+Hash錛屽茍鐢變簬PropertySet鐨勫弽灝勭郴緇?/p> <p> </p></blockquote> <blockquote> <p>LemonComposer緙栬緫鍣ㄧ壒鎬?/p> <p>鐣岄潰鍩轟簬鎴戝幓騫村紑鍙戠殑<a href="http://m.shnenglu.com/sunicdavy/archive/2009/07/24/91059.html">MotionUI</a>錛宭ua</p> <p>8+1鎺у埗鐐圭偣瀵硅薄璋冭妭灞炴?/p> <p>綾籄dobe Flash鐨勫撫緙栬緫銆?/p> <p>綾?DS Max鐨勫垎杞ㄩ亾鍏抽敭甯х紪杈戯紝鏈夊姪浜庝紭鍖朼rt assert</p> <p>鑷敱璋冭妭瀵硅薄灞傜駭鍙婄埗瀛愬叧緋?/p> <p>鍏ㄥ姛鑳芥棤闄愬埗鑷敱Redo,Undo</p> <p> </p></blockquote> <p>*灝嗗湪鏈潵鐗堟湰鏀寔</p> <p><a href="http://m.shnenglu.com/images/cppblog_com/sunicdavy/WindowsLiveWriter/LemonComposer2D_D2B9/image_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://m.shnenglu.com/images/cppblog_com/sunicdavy/WindowsLiveWriter/LemonComposer2D_D2B9/image_thumb.png" width="483" height="300"></a> </p> <p> </p> <p> </p> <blockquote> <p>2D娓告垙鏄嫭绔嬫父鎴忕殑涓繪祦錛屼篃鏄垱鎰忥紝鎶曞叆姣旀渶灝忕殑涓涓淮搴︺備絾鏄熀浜?D鐨勫ぇ澶氭槸涓浜涚被浼間簬HGE錛孖ndieLib絳夊紑婧愬厤璐?D寮曟搸銆備絾鏄潰瀵規父鎴忎腑澶ч噺鐨勫姩鐢昏岃█錛屽紑鍙戣呭ぇ澶氭槸浣跨敤鍥劇墖甯ф潵鍒朵綔錛岃櫧鐒舵晥鏋滃緢濂斤紝浣嗘槸璁懼璧勬簮濂界敤鍜屽埗浣滈毦搴︿篃鏄緢闅炬帶鍒剁殑銆?/p></blockquote> <blockquote> <p>嫻佽浜庡幓騫寸殑妞嶇墿瀵瑰兊灝稿拰2004騫村彂琛岀殑<a >RO Offline</a>緇忚繃璧勬簮鍒嗘瀽錛屽氨鏄嬌鐢ㄧ被浼間簬Lemon緋葷粺錛屾垨鑰呰Flash鐨勭郴緇熷埗浣滆屾垚錛屽洜姝ゆ晥鏋滃拰鎵╁睍鎬ч潪甯稿ソ銆?/p> <p>榪欏氨鏄疞emon瀛樺湪鐨勭悊鐢便?/p> <p>Flash闈㈠悜鐨勬槸GDI+Web錛岄偅涔圠emon灝辨槸閽堝娓告垙涓撴湁鐨勶紝鍩轟簬紜歡鍔犻熺殑娓告垙妗嗘灦</p> <p>Flash Action Script 瀵瑰簲鐨勫氨鏄疞emon鐨?a >Squirrel</a>鑴氭湰</p> <p>FlashIDE 瀵瑰簲鐨勫氨鏄疞emon Composer</p> <p>Lemon鐨勭洰鏍囧氨鏄2D娓告垙寮鍙戞洿綆鍗曪紝璁╂父鎴忎腑鍏呮弧鏇村鐨勫姩鐢? 璁╂父鎴忓紑鍙戦毦搴﹂檷浣?/p> <p><a href="http://m.shnenglu.com/images/cppblog_com/sunicdavy/WindowsLiveWriter/LemonComposer2D_D2B9/farming-gold-in-pvz%5B1%5D_2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="farming-gold-in-pvz[1]" border="0" alt="farming-gold-in-pvz[1]" src="http://m.shnenglu.com/images/cppblog_com/sunicdavy/WindowsLiveWriter/LemonComposer2D_D2B9/farming-gold-in-pvz%5B1%5D_thumb.jpg" width="244" height="196"></a></p></blockquote><img src ="http://m.shnenglu.com/sunicdavy/aggbug/107257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2010-02-05 14:58 <a href="http://m.shnenglu.com/sunicdavy/archive/2010/02/05/107257.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍒ゆ柇鐐瑰湪鍑稿洓杈瑰艦涓?/title><link>http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105136.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Fri, 08 Jan 2010 02:29:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105136.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/105136.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105136.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/105136.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/105136.html</trackback:ping><description><![CDATA[<p>鍓嶅嚑澶╅渶瑕佸仛涓涓紶鏍囩偣鍑誨垽瀹氾紝鍏蜂綋鏄垽鏂竴涓偣鏄惁鍦ㄦ煇涓嚫鍥涜竟褰腑銆?/p> <p>鏈綆鍗曠殑鏂規硶鑾繃浜庡垽鏂紶鏍囩偣鏄惁鍦?涓笁瑙掑艦涓備絾鏄緢澶氬垽瀹氭柟娉曢兘鏄湁闂鐨勶紝姣斿璇?/p> <p> </p> <p>copy鑷狪ndieLib</p><pre class="csharpcode"><span id="f7j9dr9" class="kwrd">bool</span> Triangle2D::Inside2( <span id="9fbdxt9" class="kwrd">const</span> Vector2& p ) { Vector2 v0 = mP3 - mP1; Vector2 v1 = mP2 - mP1; Vector2 v2 = p - mP1; <span id="xp7l9j9" class="rem">// Compute dot products</span> <span id="zlnrb7x" class="kwrd">float</span> dot00 = Vector2::DotProduct( v0, v0 ); <span id="7j7l9jp" class="kwrd">float</span> dot01 = Vector2::DotProduct( v0, v1 ); <span id="d9l97f9" class="kwrd">float</span> dot02 = Vector2::DotProduct( v0, v2 ); <span id="n7x7vtt" class="kwrd">float</span> dot11 = Vector2::DotProduct( v1, v1 ); <span id="jnhjv97" class="kwrd">float</span> dot12 = Vector2::DotProduct( v1, v2 ); <span id="vhjd7jx" class="rem">// Compute barycentric coordinates</span> <span id="7z9z9dz" class="kwrd">float</span> invDenom = 1 / (dot00 * dot11 - dot01 * dot01); <span id="ph9vbjr" class="kwrd">float</span> u = (dot11 * dot02 - dot01 * dot12) * invDenom; <span id="l79xdtz" class="kwrd">float</span> v = (dot00 * dot12 - dot01 * dot02) * invDenom; <span id="9b1rtzx" class="rem">// Check if point is in triangle</span> <span id="7x9v7bz" class="kwrd">return</span> (u > 0) && (v > 0) && (u + v < 1); } </pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>Google鍑虹殑鏌愪漢浠g爜 <pre class="csharpcode"><span id="jl7x79x" class="kwrd">float</span> Triangle2D::CrossProduct3(<span id="9ftf9pp" class="kwrd">const</span> Vector2& p1,<span id="lfztd7p" class="kwrd">const</span> Vector2& p2, <span id="xr99fdz" class="kwrd">const</span> Vector2& p0 ) { <span id="dvhjp97" class="kwrd">return</span> (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y); } <span id="p9zp7v9" class="kwrd">bool</span> Triangle2D::Inside( <span id="jv7r1lr" class="kwrd">const</span> Vector2& p ) { <span id="97p9p9j" class="kwrd">return</span> (CrossProduct3(mP1,p,mP2)*CrossProduct3(mP3,p,mP2)<0) && (CrossProduct3(mP2,p,mP1)*CrossProduct3(mP3,p,mP1)<0) && (CrossProduct3(mP1,p,mP3)*CrossProduct3(mP2,p,mP3)<0); } </pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>  <p>榪?涓柟娉曢兘鏈夌己闄鳳紝褰撶偣鍦ㄤ笁瑙掑艦杈逛笂鏃訛紝灝辨棤娉曞緱鍑恒傚綋鐢ㄥ湪涓涓鏂瑰艦鍒ゆ柇鏃訛紝姝f柟褰腑蹇冪偣灝卞垽瀹氫負娌℃湁鍦ㄥ叾鍐呴儴錛屾樉鐒舵槸涓涓敊璇? <p>  <p>涔嬪悗錛屽張Google鍑烘煇鍑犱釜澶т緺鐨勭畻娉曞拰鎬濇兂錛岃冭檻浜嗕笅錛屽垽瀹氱偣涓庡洓杈瑰艦閲嶅績鐐圭殑綰挎鏄惁涓庡洓杈瑰艦4鏉¤竟鐩鎬氦錛岀浉浜ゆ椂錛屽叾鍦ㄥ洓杈瑰艦澶栭儴錛屽弽涔嬩害鐒躲?<pre class="csharpcode"><span id="zt99n9p" class="kwrd">bool</span> Quadrangle::Inside2( <span id="7th799h" class="kwrd">const</span> Vector2& p ) { Vector2 c = Segement2D::GetCrossPoint( mP1, mP3, mP2, mP4 ); <span id="n7xf7t9" class="kwrd">return</span> !(Segement2D::Intersect( mP1, mP2, c, p) || Segement2D::Intersect( mP2, mP3, c, p) || Segement2D::Intersect( mP3, mP4, c, p) || Segement2D::Intersect( mP4, mP1, c, p) ); } <span id="nxjd7tt" class="kwrd">bool</span> Segement2D::Intersect( <span id="jjnnhf7" class="kwrd">const</span> Vector2& p1, <span id="77h97d9" class="kwrd">const</span> Vector2& p2,<span id="phb79t9" class="kwrd">const</span> Vector2& p3, <span id="nhbvnnb" class="kwrd">const</span> Vector2& p4 ) { <span id="tnhr9d7" class="kwrd">float</span> gradab, gradcd, ycptab, ycptcd, interceptX, intercepty; <span id="97v7nnl" class="rem">// In order to avoid divisions by zero</span> <span id="n979rpv" class="rem">//if (mP1.y == mP2.y)</span> <span id="dhtx7hf" class="rem">// mP2.y += 0.0001f; </span> <span id="d9p9f7z" class="rem">//if (mP1.x == mP2.x)</span> <span id="zdv9j9l" class="rem">// mP2.x += 0.0001f; </span> <span id="v9ptp7j" class="rem">//if (seg.mP1.y == seg.mP2.y)</span> <span id="f97h7t7" class="rem">// seg.mP2.y += 0.0001f; </span> <span id="z9x97bz" class="rem">//if (seg.mP1.x == seg.mP2.x)</span> <span id="hbdxhxt" class="rem">// seg.mP2.x += 0.0001f; </span> <span id="7x9vl9t" class="rem">// Calculates the intersection between the two lines</span> gradab = (p1.y - p2.y) / (p1.x - p2.x); gradcd = (p3.y - p4.y) / (p3.x - p4.x); ycptab = p1.y - p1.x * gradab; ycptcd = p3.y - p3.x * gradcd; interceptX = (ycptab - ycptcd) / (gradcd - gradab); intercepty = (ycptab - (gradab * ycptcd) / gradcd) / (1 - gradab / gradcd); <span id="xzddzxn" class="rem">// Checking in the intersection is inside the segment</span> <span id="rtvvz9x" class="kwrd">if</span> (!((interceptX >= p1.x && interceptX <= p2.x) || (interceptX >= p2.x && interceptX <= p1.x))) <span id="979l999" class="kwrd">return</span> 0; <span id="bt9h9bh" class="kwrd">if</span> (!((intercepty >= p1.y && intercepty <= p2.y) || (intercepty >= p2.y && intercepty <= p1.y))) <span id="xprnff9" class="kwrd">return</span> 0; <span id="bb7hvt7" class="kwrd">if</span> (!((interceptX >= p3.x && interceptX <= p4.x) || (interceptX >= p4.x && interceptX <= p3.x))) <span id="nnz79z9" class="kwrd">return</span> 0; <span id="7pvnpfd" class="kwrd">if</span> (!((intercepty >= p3.y && intercepty <= p4.y) || (intercepty >= p4.y && intercepty <= p3.y))) <span id="v99p7bj" class="kwrd">return</span> 0; <span id="9nlvfd7" class="kwrd">return</span> 1; } Vector2 Segement2D::GetCrossPoint(<span id="h7rf7db" class="kwrd">const</span> Vector2& p1, <span id="77x7x99" class="kwrd">const</span> Vector2& p2, <span id="9z7vh99" class="kwrd">const</span> Vector2& q1, <span id="779zf77" class="kwrd">const</span> Vector2& q2) { <span id="v7vl79v" class="rem">//蹇呴』鐩鎬氦姹傚嚭鐨勬墠鏄嚎孌電殑浜ょ偣錛屼絾鏄笅闈㈢殑紼嬪簭孌墊槸閫氱敤鐨?</span> <span id="hz79p9p" class="rem">/*鏍規嵁涓ょ偣寮忓寲涓烘爣鍑嗗紡錛岃繘鑰屾眰綰挎ф柟紼嬬粍*/</span> Vector2 crossPoint; <span id="779bxfd" class="rem">//姹倄鍧愭爣</span> <span id="bbdf777" class="kwrd">float</span> tempLeft = (q2.x - q1.x) * (p1.y - p2.y) - (p2.x - p1.x) * (q1.y - q2.y); <span id="hrbfppn" class="kwrd">float</span> tempRight = (p1.y - q1.y) * (p2.x - p1.x) * (q2.x - q1.x) + q1.x * (q2.y - q1.y) * (p2.x - p1.x) - p1.x * (p2.y - p1.y) * (q2.x - q1.x); crossPoint.x = tempRight / tempLeft; <span id="79ljvtp" class="rem">//姹倅鍧愭爣</span> tempLeft = (p1.x - p2.x) * (q2.y - q1.y) - (p2.y - p1.y) * (q1.x - q2.x); tempRight = p2.y * (p1.x - p2.x) * (q2.y - q1.y) + (q2.x- p2.x) * (q2.y - q1.y) * (p1.y - p2.y) - q2.y * (q1.x - q2.x) * (p2.y - p1.y); crossPoint.y = tempRight / tempLeft; <span id="7tz7jtr" class="kwrd">return</span> crossPoint; } </pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>榪欎釜綆楁硶鏁堢巼騫朵笉鏄緢楂橈紝浣嗗浜庤璁″櫒鏉ヨ鏃犳墍璋撲簡錛屽鏋滄湁濂界殑鍑嗙‘綆楁硶錛屽彲浠ヨ璁?/p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/105136.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2010-01-08 10:29 <a href="http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105136.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍒ゆ柇鐐瑰湪鍑稿洓杈瑰艦涓?/title><link>http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105135.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Fri, 08 Jan 2010 02:27:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105135.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/105135.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105135.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/105135.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/105135.html</trackback:ping><description><![CDATA[<p>鍓嶅嚑澶╅渶瑕佸仛涓涓紶鏍囩偣鍑誨垽瀹氾紝鍏蜂綋鏄垽鏂竴涓偣鏄惁鍦ㄦ煇涓嚫鍥涜竟褰腑銆?/p> <p>鏈綆鍗曠殑鏂規硶鑾繃浜庡垽鏂紶鏍囩偣鏄惁鍦?涓笁瑙掑艦涓備絾鏄緢澶氬垽瀹氭柟娉曢兘鏄湁闂鐨勶紝姣斿璇?/p> <p> </p> <p>copy鑷狪ndieLib</p><pre class="csharpcode"><span id="vtv7th9" class="kwrd">bool</span> Triangle2D::Inside2( <span id="p7p7x7z" class="kwrd">const</span> Vector2& p ) { Vector2 v0 = mP3 - mP1; Vector2 v1 = mP2 - mP1; Vector2 v2 = p - mP1; <span id="7p7j1dd" class="rem">// Compute dot products</span> <span id="nfrt9lj" class="kwrd">float</span> dot00 = Vector2::DotProduct( v0, v0 ); <span id="pf79n9l" class="kwrd">float</span> dot01 = Vector2::DotProduct( v0, v1 ); <span id="9br79v9" class="kwrd">float</span> dot02 = Vector2::DotProduct( v0, v2 ); <span id="phtv7d9" class="kwrd">float</span> dot11 = Vector2::DotProduct( v1, v1 ); <span id="v7v9j9r" class="kwrd">float</span> dot12 = Vector2::DotProduct( v1, v2 ); <span id="x7znpft" class="rem">// Compute barycentric coordinates</span> <span id="9f9b9nt" class="kwrd">float</span> invDenom = 1 / (dot00 * dot11 - dot01 * dot01); <span id="tbdp7f7" class="kwrd">float</span> u = (dot11 * dot02 - dot01 * dot12) * invDenom; <span id="z7jnjxv" class="kwrd">float</span> v = (dot00 * dot12 - dot01 * dot02) * invDenom; <span id="799999t" class="rem">// Check if point is in triangle</span> <span id="x7flnn7" class="kwrd">return</span> (u > 0) && (v > 0) && (u + v < 1); } </pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>Google鍑虹殑鏌愪漢浠g爜 <pre class="csharpcode"><span id="9799lvr" class="kwrd">float</span> Triangle2D::CrossProduct3(<span id="7xd9nv9" class="kwrd">const</span> Vector2& p1,<span id="7dd9nxf" class="kwrd">const</span> Vector2& p2, <span id="tbffzx9" class="kwrd">const</span> Vector2& p0 ) { <span id="zhbd9d7" class="kwrd">return</span> (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y); } <span id="lr7nltz" class="kwrd">bool</span> Triangle2D::Inside( <span id="v97tzn9" class="kwrd">const</span> Vector2& p ) { <span id="77x9l9x" class="kwrd">return</span> (CrossProduct3(mP1,p,mP2)*CrossProduct3(mP3,p,mP2)<0) && (CrossProduct3(mP2,p,mP1)*CrossProduct3(mP3,p,mP1)<0) && (CrossProduct3(mP1,p,mP3)*CrossProduct3(mP2,p,mP3)<0); } </pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>  <p>榪?涓柟娉曢兘鏈夌己闄鳳紝褰撶偣鍦ㄤ笁瑙掑艦杈逛笂鏃訛紝灝辨棤娉曞緱鍑恒傚綋鐢ㄥ湪涓涓鏂瑰艦鍒ゆ柇鏃訛紝姝f柟褰腑蹇冪偣灝卞垽瀹氫負娌℃湁鍦ㄥ叾鍐呴儴錛屾樉鐒舵槸涓涓敊璇? <p>  <p>涔嬪悗錛屽張Google鍑烘煇鍑犱釜澶т緺鐨勭畻娉曞拰鎬濇兂錛岃冭檻浜嗕笅錛屽垽瀹氱偣涓庡洓杈瑰艦閲嶅績鐐圭殑綰挎鏄惁涓庡洓杈瑰艦4鏉¤竟鐩鎬氦錛岀浉浜ゆ椂錛屽叾鍦ㄥ洓杈瑰艦澶栭儴錛屽弽涔嬩害鐒躲?<pre class="csharpcode"><span id="9ln99r9" class="kwrd">bool</span> Quadrangle::Inside2( <span id="nxzr799" class="kwrd">const</span> Vector2& p ) { Vector2 c = Segement2D::GetCrossPoint( mP1, mP3, mP2, mP4 ); <span id="hf77npl" class="kwrd">return</span> !(Segement2D::Intersect( mP1, mP2, c, p) || Segement2D::Intersect( mP2, mP3, c, p) || Segement2D::Intersect( mP3, mP4, c, p) || Segement2D::Intersect( mP4, mP1, c, p) ); } <span id="799thh9" class="kwrd">bool</span> Segement2D::Intersect( <span id="pfj7d7x" class="kwrd">const</span> Vector2& p1, <span id="x77vh97" class="kwrd">const</span> Vector2& p2,<span id="jxj7pzf" class="kwrd">const</span> Vector2& p3, <span id="9bv9nlj" class="kwrd">const</span> Vector2& p4 ) { <span id="r77hrhf" class="kwrd">float</span> gradab, gradcd, ycptab, ycptcd, interceptX, intercepty; <span id="r7txjxx" class="rem">// In order to avoid divisions by zero</span> <span id="rp7l79l" class="rem">//if (mP1.y == mP2.y)</span> <span id="77dj99p" class="rem">// mP2.y += 0.0001f; </span> <span id="7fzj7xp" class="rem">//if (mP1.x == mP2.x)</span> <span id="t9tfppl" class="rem">// mP2.x += 0.0001f; </span> <span id="rjbv79z" class="rem">//if (seg.mP1.y == seg.mP2.y)</span> <span id="zztl99n" class="rem">// seg.mP2.y += 0.0001f; </span> <span id="b9799h9" class="rem">//if (seg.mP1.x == seg.mP2.x)</span> <span id="jnnrtz9" class="rem">// seg.mP2.x += 0.0001f; </span> <span id="l7t99hr" class="rem">// Calculates the intersection between the two lines</span> gradab = (p1.y - p2.y) / (p1.x - p2.x); gradcd = (p3.y - p4.y) / (p3.x - p4.x); ycptab = p1.y - p1.x * gradab; ycptcd = p3.y - p3.x * gradcd; interceptX = (ycptab - ycptcd) / (gradcd - gradab); intercepty = (ycptab - (gradab * ycptcd) / gradcd) / (1 - gradab / gradcd); <span id="hfhbdj9" class="rem">// Checking in the intersection is inside the segment</span> <span id="vrnf79r" class="kwrd">if</span> (!((interceptX >= p1.x && interceptX <= p2.x) || (interceptX >= p2.x && interceptX <= p1.x))) <span id="97v9vlj" class="kwrd">return</span> 0; <span id="7htnhfb" class="kwrd">if</span> (!((intercepty >= p1.y && intercepty <= p2.y) || (intercepty >= p2.y && intercepty <= p1.y))) <span id="jzb9hvv" class="kwrd">return</span> 0; <span id="7dn799v" class="kwrd">if</span> (!((interceptX >= p3.x && interceptX <= p4.x) || (interceptX >= p4.x && interceptX <= p3.x))) <span id="7nzllj7" class="kwrd">return</span> 0; <span id="b9bhjp7" class="kwrd">if</span> (!((intercepty >= p3.y && intercepty <= p4.y) || (intercepty >= p4.y && intercepty <= p3.y))) <span id="7xhl9xf" class="kwrd">return</span> 0; <span id="zzlnzv7" class="kwrd">return</span> 1; } Vector2 Segement2D::GetCrossPoint(<span id="7lphdbp" class="kwrd">const</span> Vector2& p1, <span id="lzlnpnv" class="kwrd">const</span> Vector2& p2, <span id="7dvzlhf" class="kwrd">const</span> Vector2& q1, <span id="fdzbtr7" class="kwrd">const</span> Vector2& q2) { <span id="x97fxfd" class="rem">//蹇呴』鐩鎬氦姹傚嚭鐨勬墠鏄嚎孌電殑浜ょ偣錛屼絾鏄笅闈㈢殑紼嬪簭孌墊槸閫氱敤鐨?</span> <span id="9rtdfdt" class="rem">/*鏍規嵁涓ょ偣寮忓寲涓烘爣鍑嗗紡錛岃繘鑰屾眰綰挎ф柟紼嬬粍*/</span> Vector2 crossPoint; <span id="x7n7bxv" class="rem">//姹倄鍧愭爣</span> <span id="bjtvxvt" class="kwrd">float</span> tempLeft = (q2.x - q1.x) * (p1.y - p2.y) - (p2.x - p1.x) * (q1.y - q2.y); <span id="9lnjb77" class="kwrd">float</span> tempRight = (p1.y - q1.y) * (p2.x - p1.x) * (q2.x - q1.x) + q1.x * (q2.y - q1.y) * (p2.x - p1.x) - p1.x * (p2.y - p1.y) * (q2.x - q1.x); crossPoint.x = tempRight / tempLeft; <span id="vl77bzt" class="rem">//姹倅鍧愭爣</span> tempLeft = (p1.x - p2.x) * (q2.y - q1.y) - (p2.y - p1.y) * (q1.x - q2.x); tempRight = p2.y * (p1.x - p2.x) * (q2.y - q1.y) + (q2.x- p2.x) * (q2.y - q1.y) * (p1.y - p2.y) - q2.y * (q1.x - q2.x) * (p2.y - p1.y); crossPoint.y = tempRight / tempLeft; <span id="x7nplzx" class="kwrd">return</span> crossPoint; } </pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>榪欎釜綆楁硶鏁堢巼騫朵笉鏄緢楂橈紝浣嗗浜庤璁″櫒鏉ヨ鏃犳墍璋撲簡錛屽鏋滄湁濂界殑鍑嗙‘綆楁硶錛屽彲浠ヨ璁?/p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/105135.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2010-01-08 10:27 <a href="http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105135.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>SilverLight鐨勬暀瀛﹁祫婧?/title><link>http://m.shnenglu.com/sunicdavy/archive/2009/12/30/104459.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Wed, 30 Dec 2009 08:45:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2009/12/30/104459.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/104459.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2009/12/30/104459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/104459.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/104459.html</trackback:ping><description><![CDATA[<p>涓枃紺懼尯錛?a >http://silverlight.cn/</a></p> <p>寰蔣瀹樻柟涓枃MSDN錛?a >http://msdn.microsoft.com/zh-cn/library/cc838158(VS.95).aspx</a></p> <p>寰蔣瀹樻柟鑻辨枃MSDN渚嬪瓙錛?a >http://samples.msdn.microsoft.com/Silverlight/SampleBrowser/index.htm#/?sref=HomePage</a></p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/104459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2009-12-30 16:45 <a href="http://m.shnenglu.com/sunicdavy/archive/2009/12/30/104459.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀵筍ilverLight鐨勫垵姝ヤ簡瑙?/title><link>http://m.shnenglu.com/sunicdavy/archive/2009/12/30/104457.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Wed, 30 Dec 2009 08:36:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2009/12/30/104457.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/104457.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2009/12/30/104457.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/104457.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/104457.html</trackback:ping><description><![CDATA[<p>    鏈榪戠爺絀?D鍔ㄧ敾緋葷粺錛屽弬鑰冧簡Flash錛屼篃鍙傝冧簡SilverLight錛屼笉鐮旂┒涓嶆暍鍐欐鍗氭枃</p> <p>    緗戜笂寰堝SilverLight鍜孎lash姣旇緝鐨勬枃绔狅紝甯歌鐨勫張鏄淔lash鏉鎵嬧濓紝鈥滃叏鏂伴鍩熲濅箣綾葷殑瀛楃溂銆傚弽瑙傞瓍鏃廙8鍜宨Phone錛屼篃鏄繖涔堝啓鐨勩傚緢鏄庢樉閮芥槸鈥滀簲姣涘厷鈥濈殑鏋枃錛屾垨鑰呬竴浜涙棤鑱婂皬緙栫畝鍗曠殑瑙佽В銆?/p> <p>    浣犺榪嘢ilverLight鍋氱殑鍔ㄧ敾鐗囦箞錛?榪欑偣涓嶅鎬紝 SilverLight鐨勬牳蹇冩槸WPF錛屼篃灝辨槸Windows鐨勪笅涓浠g晫闈㈣璁$悊蹇點傛棭鏈熺殑鐞嗗康璇稿錛歁FC錛?WTL錛?Net銆傛牴鎹垜鐮旂┒鐪嬫潵錛孲ilverLight鐨勫姩鐢婚兘鏄熀浜庝唬鐮佺殑錛屾墍浠ヤ綘涓嶅笇鏈涗竴閮ㄥ姩鐢葷墖鏄敤綰墜宸ユ柟寮忕紪鍐欎唬鐮佹潵鍒朵綔鍚?</p> <p>     Flash鏄簮鑷簬<a >FutureSplash Animator</a>錛屾棭鏈熺増鏈彧鏄竴涓畝鍗曡璁″姩鐢葷殑緙栬緫鍣紝鍥犱負瀵瑰撫闇瑕佹帶鍒訛紝鎵浠ュ姞鍏ヤ簡<a >ActionScript</a>浣滀負鍏舵帶鍒惰璦銆傚悗鏈熼愭鍙戝睍澹ぇ錛岃寰?002騫存椂錛屾浘緇忚榪囨湁灝嗚棰戞牸寮忓鎴恠wf鏍煎紡榪涜鎾斁錛屼粠姝わ紝榪欑鎶鏈笎娓愬彂灞曟垚涓虹幇鍦ㄦ祦琛岀殑<a >FLV</a>銆備互鑷充簬鍒扮幇鍦ㄥ己澶х殑<a >RIA</a>銆?/p> <p>     鎵浠ヨ繖涔堢湅鏉ワ紝SilverLight鍗充究鍙戝睍鍒癝ilverLight 4錛屼篃鏃犳硶鍦ㄥ姩鐢繪柟闈㈣秴榪嘑lash錛岄櫎闈炴坊鍔犱竴濂楃被浼糉lash鐨勫姩鐢葷紪杈戝櫒銆傚仛鍔ㄧ敾錛屽繀閫塅lash錛岃屼笖鍏跺彲浠ヨ法騫沖彴錛岃鍑犵巼闈炲父楂樸備笉榪囧仛<a >RIA</a>錛屽皬鍙椾紬緹や嬌鐢╒isual Studio鐨勫己澶у伐鍏鋒惌閰峉ilverLight/C#灝嗕細澶уぇ闄嶄綆寮鍙戞垚鏈?/p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/104457.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2009-12-30 16:36 <a href="http://m.shnenglu.com/sunicdavy/archive/2009/12/30/104457.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍩轟簬XML鐨勬父鎴廢I鏋舵瀯璁捐錛堜竴錛?/title><link>http://m.shnenglu.com/sunicdavy/archive/2009/06/08/87065.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Mon, 08 Jun 2009 06:01:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2009/06/08/87065.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/87065.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2009/06/08/87065.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/87065.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/87065.html</trackback:ping><description><![CDATA[ <p>    鐩墠欏圭洰涓嬌鐢‵lash涓轟富璁捐鐨刄I錛屽洜涓哄吋瀹規ч棶棰橈紝Flash涓紪杈戞铏界劧鍙互杈撳叆涓枃錛屼絾鏄厜鏍囨槸鐪嬩笉鍒伴棯鐑佺殑銆傜粡榪囦豢浣涚爺絀跺彂鐜幫紝蹇呴』灝哾3d 鐨刦lash瀹瑰櫒紼嬪簭鍦ㄥ悗鍙版椂錛屾墠鑳芥樉紺哄厜鏍囷紝榪欎竴涓祴璇曠粨鏋滆鎴戜滑闆風殑涓嶈銆傛渶緇堝喅瀹氬皢flash鎷嗚В寮錛屾瘡涓晫闈竴涓猣lash銆備絾渚濈劧鍙戠幇寰堝褰卞搷寮鍙戞晥鐜囩殑闂銆? </p><p>    <a ><span style="font-family:Arial; font-size:9pt">GameBryo</span></a>寮曟搸涓敮鎸佸師鐢熺殑C++ GAME UI錛屼篃鏀寔鐩存帴鎾斁flash錛岃繖閮ㄥ垎錛圫caleForm錛変嬌鐢ㄧ殑鏄互<a >GameSwf</a>涓哄熀紜鐨勬墜鍔ㄨВ鏋恌lash鏂囦歡錛屽洜姝ゅ湪緙栬緫妗嗙瓑鏂歸潰鍋氱殑闈炲父濂姐? </p><p>    Flash鐨刄I寮鍙戠伒媧誨害寰堥珮錛屽簳灞傚簱bug灝戯紝浣嗘槸涓庣幇鏈夊伐紼嬬粨鍚堥毦搴﹀ぇ錛屽洜姝や粛鐒惰漿鍚戠爺絀朵互XML涓哄熀紜鐨刄I搴撹璁°? </p><p>    榪欓噷鎺ㄨ崘鍑犱釜鍙傝冿細 </p><p>    WowBench錛?<a >http://sourceforge.net/projects/wowbench/</a> </p><p>        榪欐槸欖斿吔涓栫晫鐨刄I鐨勬ā鎷熷櫒錛屽紑婧愶紝鍙互浠庝腑浜嗚В欖斿吔涓栫晫鐨勫熀鏈琔I鏋舵瀯鍙夾PI鏋勬垚銆傚悓鏃訛紝欖斿吔鐨刲ua鑴氭湰鍦ㄥ畨鍏ㄦу拰寮鍙戝害涓婂仛鐨勯潪甯稿ソ錛岃繖閮ㄥ垎鍙互鍙傝冧笅銆? </p><p>    Mozilla XUL錛?a >https://developer.mozilla.org/En/XUL</a> </p><p>        榪欐槸Mozilla鎴樼暐涓殑涓涓噸瑕佺粍鎴愰儴鍒嗭紝榪欏UI鏀寔綾諱技浜巜xWidgets鎴栬匟TML鏂瑰紡鐨勬帓鐗?/p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/87065.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2009-06-08 14:01 <a href="http://m.shnenglu.com/sunicdavy/archive/2009/06/08/87065.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鑵捐鐣岄潰搴撳垵鎺?/title><link>http://m.shnenglu.com/sunicdavy/archive/2009/06/08/87063.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Mon, 08 Jun 2009 05:36:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2009/06/08/87063.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/87063.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2009/06/08/87063.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/87063.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/87063.html</trackback:ping><description><![CDATA[ <p>    鑵捐鏂頒駭鍝佺嚎錛歈Q2009, QQ 鏃嬮2錛孮Q褰遍煶絳夐兘浣跨敤浜嗛潪甯告紓浜殑鐣岄潰銆備竴鐩翠互涓烘槸鑷繁鍐欑殑錛屾瘯绔烸Q2009闇瑕佷竴涓畨鍏ㄧ殑鐜浠ラ伩鍏嶅鎸傜殑琛嶇敓銆傜粡榪噑py++鎺㈡祴錛屽彂鐜頒竴涓猅XGuiFoundation錛屽啀鍦ㄧ綉涓婁竴鎼滐紝鎼滃埌浜嗚繖涓笢瑗匡細 </p><h2>    <span style="color:#333333; font-family:Segoe UI; font-size:16pt">DSkinLite: <a ></a></span><a ><span style="color:blue; text-decoration:underline">http://uieasy.cn/downloads.html </span></a></h2><a ></a><p><a ><img src="http://m.shnenglu.com/images/cppblog_com/sunicdavy/060809_0535_1.png" alt="" border="0"></a> </p><p><span style="font-size:9pt; text-decoration:underline"><span style="color:blue">    </span><span style="color:#333333"><span style="font-family:Arial"> Dskinlite </span>鏄竴嬈捐交閲忕駭鐨?span style="font-family:Arial">C++</span>鐨偆搴擄紝浣跨敤<span style="font-family:Arial">XML</span>鏂囦歡鏍規嵁瑙勫垯鏉ョ鐞?span style="font-family:Arial">GDI</span>璧勬簮濡傞鑹詫紝瀛椾綋錛屽浘鐗囷紝騫舵弿榪扮晫闈㈡瀯鎴愶紝鏈澶х▼搴︾殑灝嗙晫闈㈠拰紼嬪簭閫昏緫鍒嗙錛屽悓鏃朵負杞歡鐨偆鏇存崲錛屾崲鑹茬瓑鎻愪緵鍩虹鏀寔銆?span style="font-family:Arial">DSkinLite</span>灝嗙晫闈㈡瀯鎴愬厓绱犳娊璞′負綰挎潯鍏冪礌錛岀煩褰㈠厓绱狅紝鍥劇墖鍏冪礌錛屾枃鏈厓绱狅紝騫舵彁渚涚浉搴旇鍒欐潵浣跨敤榪欎簺鍏冪礌<span style="font-family:Arial">"</span>緇勫悎<span style="font-family:Arial">"</span>鐣岄潰銆?span style="font-family:Arial">DSkinlite</span>寮鍙戝洟闃熸湁杈冩繁鐨?span style="font-family:Arial">Windows</span>鐣岄潰寮鍙戠殑瀹為檯緇忓巻錛屽杞歡鐣岄潰澶勭悊棰囨湁蹇冨緱錛岃嚧鍔涗簬灝嗗疄鐢紝楂樻晥錛屽墠娌跨殑鐣岄潰澶勭悊鎶鏈粙緇嶇粰騫垮ぇ寮鍙戜漢鍛樸?span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></p><p><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333"><span style="font-family:Arial">        DSkinLite</span>涓庡叾浠栫晫闈㈠簱鐩告瘮鏈変互涓嬬壒鐐癸細<span style="font-family:Arial"> </span>娌℃湁閲囩敤<span style="font-family:Arial">Hook</span>鎵鏈夎繘紼嬫秷鎭殑鏂瑰紡錛屽洜姝ゆ病鏈夋浛鎹㈢郴緇熺浉鍏沖璇濇銆?span style="font-family:Arial">DSkinLite</span>鍙槸閲囩敤<span style="font-family:Arial">MFC</span>錛?span style="font-family:Arial">ATL</span>絳?span style="font-family:Arial">framework</span>綾諱技鐨勬柟寮忥紝綆鍗曟浛鎹㈢獥鍙h繃紼嬶紝鎴彇鐣岄潰緇樺埗絳夋秷鎭紝瀵瑰簲鐢ㄧ▼搴忔潵璇村熀鏈笂鏄忔槑鐨勩備粠榪欎釜鏂歸潰璁詫紝<span style="font-family:Arial">DSkinLite</span>鏄竴嬈捐交閲忕駭鐨勭晫闈㈠簱銆?span style="font-family:Arial"> </span>鍚屾椂錛?span style="font-family:Arial">DSkinLite</span>娌℃湁鐗瑰埆鐨?span style="font-family:Arial">Frameword</span>鐨勪緷璧栵紝鍙互鍦?span style="font-family:Arial">Win32</span>錛?span style="font-family:Arial">MFC,ATL,WTL</span>絳夌幆澧冧腑浣跨敤銆?span style="font-family:Arial"> DSkinLite</span>鐣岄潰搴撲嬌鐢?span style="font-family:Arial">XML</span>綆$悊<span style="font-family:Arial">GDI</span>璧勬簮騫墮厤緗獥鍙g晫闈紝鐢ㄦ埛鍙互鏂逛究鐨勪繚鎸佺晫闈㈢殑涓鑷存э紝鍚屾椂鍙互寰堟柟渚跨殑鏋勯犲嚭鏇村鐨勭獥鍙f牱寮?span style="font-family:Arial"> </span>鐣岄潰搴撶殑楂樻晥鎬с?span style="font-family:Arial">DSkinLite</span>灝嗕笓娉ㄤ簬紼嬪簭搴撶殑楂樻晥鎬э紝鍏蜂綋琛ㄧ幇鍦ㄥ唴瀛樺崰鐢紝鐣岄潰緇樺埗閫熷害錛岀晫闈㈤槻姝㈤棯鐑侊紝紼嬪簭鍔犺澆鍥劇墖璧勬簮銆佽В鏋?span style="font-family:Arial">XML</span>鏂囦歡鐨勯熷害絳夋柟闈紝鎴戜滑鍋氫簡寰堝宸ヤ綔錛屽茍涓嶆柇鎸佺畫浼樺寲銆備互鏈熸湜紼嬪簭鍚勬柟闈㈣〃鐜版渶涓洪珮鏁堢殑鐣岄潰紼嬪簭搴撱?span style="font-family:Arial"> <br>        DSkinLite </span>鐨偆搴撶殑紼嬪簭鏋舵瀯鑰冭檻鍒板彲鑳藉嚭鐜扮殑鐣岄潰鐗規晥錛屼嬌寰楀疄鐜拌濡傞忔槑錛屾笎闅愭笎鏄撅紝鍔ㄧ敾絳夌晫闈㈢壒鏁堝彉寰楁洿鍔犲鏄擄紝鐩墠鏀寔澶у鏁版帶浠剁殑閫忔槑鏁堟灉錛屽悗緇細鏍規嵁鐢ㄦ埛闇姹傦紝寮鍙戞洿澶氱殑瀹炵敤鐨勭晫闈㈢壒鏁堛?span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></p><h3><span style="text-decoration:underline"><span style="color:#333333; font-size:10pt">浣跨敤<span style="font-family:Segoe UI">XML</span>閰嶇疆鎺т歡鐨勭晫闈?span style="font-family:Segoe UI"> </span></span><span style="color:blue"> </span></span></h3><ul><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">浣跨敤<span style="font-family:Arial">XML</span>瀹氫箟<span style="font-family:Arial">GDI</span>璧勬簮錛堥鑹詫紝瀛椾綋錛屽浘鐗囷紝<span style="font-family:Arial">cursor</span>錛?span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></li><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">浣跨敤<span style="font-family:Arial">XML</span>閰嶇疆鎺т歡鐨勭晫闈㈤鏍?span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></li><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">緇樺埗鍏冪礌琚娊璞′負綰挎潯錛屾枃鏈紝鐭╁艦錛屽浘鐗?span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></li><li><div>  </div><p><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333"><span style="font-family:Arial">XML</span>璇硶綆鍗曪紝鏄撲簬瀛︿範鍜屾帉鎻?span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></p><p> </p><h3><span style="text-decoration:underline"><span style="color:#333333; font-size:10pt">鍏朵粬鍏抽敭鐗規?span style="font-family:Segoe UI"> </span></span><span style="color:blue"> </span></span></h3><p> </p></li><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">鍩轟簬<span style="font-family:Arial">Win32 API</span>錛屾病鏈?span style="font-family:Arial">framework</span>渚濊禆銆?span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></li><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">鏀寔澶у鏁版爣鍑嗘帶浠?span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></li><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">鏀寔鏀瑰彉鐨偆鑹茶皟<span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></li><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">鏀寔澶у鏁版帶浠墮忔槑錛屽寘鎷瓙紿楀彛閫忔槑<span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></li><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">鏀寔鍔ㄧ敾鏁堟灉<span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></li><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">鏀寔<span style="font-family:Arial">png, bitmap, gif, ico</span>鍥劇墖鏍煎紡銆傛敮鎸佸甫閫忔槑閫氶亾鐨?span style="font-family:Arial">png</span>鍥劇墖<span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></li><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">鏀寔灝嗙毊鑲ゆ枃浠舵墦鍖呭埌涓涓枃浠?span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></li><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">鏀寔<span style="font-family:Arial">Unicode </span></span><span style="color:blue"> </span></span></li><li><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">鏀寔<span style="font-family:Arial">Popup Menu</span>絳夛紝鍖呮嫭涓嶈鍒欑殑<span style="font-family:Arial">menu window </span></span><span style="color:blue"> </span></span></li><li><div>  </div><p><span style="font-size:9pt; text-decoration:underline"><span style="color:#333333">鏀寔婊氬姩鏉℃帶浠訛紝鍚屾椂鏀寔鎵鏈夊唴緗粴鍔ㄦ潯鎺у埗<span style="font-family:Arial"> </span></span><span style="color:blue"> </span></span></p><p>   </p><p>璇ョ綉绔欒繕鎻愬埌涓涓狣irectUI鐨勪笢瑗匡紝榪欎釜涓滆タ鏄竴縐峸indowless鐨勬灦鏋勶紝鍏蜂綋姒傚康綾諱技浜庢父鎴忎腑鐨刄I錛屼笉渚濊禆騫沖彴鍙ユ焺錛屽洜姝ゅ鎸傚彧鑳芥埅鍙栬濡俀Q鍩轟簬ATL鐨勫紿楀彛錛屼絾鏄棤娉曡幏鍙栫獥鍙e唴閮ㄧ殑鏁版嵁 </p></li></ul><p> </p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/87063.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2009-06-08 13:36 <a href="http://m.shnenglu.com/sunicdavy/archive/2009/06/08/87063.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.ttlll.cn" target="_blank">久久久久久久女国产乱让韩</a>| <a href="http://www.babaishu.cn" target="_blank">日韩AV无码久久一区二区</a>| <a href="http://www.520chuanqi.cn" target="_blank">久久国产精品波多野结衣AV</a>| <a href="http://www.dashi1.cn" target="_blank">人妻少妇精品久久</a>| <a href="http://www.huoguopot.cn" target="_blank">日韩久久久久久中文人妻</a>| <a href="http://www.gzjrbs.cn" target="_blank">99久久免费国产精精品</a>| <a href="http://www.port1.com.cn" target="_blank">久久本道久久综合伊人</a>| <a href="http://www.spurr.cn" target="_blank">性做久久久久久久</a>| <a href="http://www.wyj448.cn" target="_blank">久久综合给合综合久久</a>| <a href="http://www.huangjisoo.cn" target="_blank">久久天天躁狠狠躁夜夜96流白浆 </a>| <a href="http://www.fl07.cn" target="_blank">久久精品视频网</a>| <a href="http://www.milliondollarhomepage.cn" target="_blank">一级做a爰片久久毛片人呢</a>| <a href="http://www.impark.cn" target="_blank">精品人妻伦九区久久AAA片69</a>| <a href="http://www.ijtz.cn" target="_blank">久久综合九色综合精品</a>| <a href="http://www.zc8899.cn" target="_blank">亚洲精品高清国产一线久久</a>| <a href="http://www.yunxinggroup.com.cn" target="_blank">一本久久a久久精品综合夜夜</a>| <a href="http://www.dfux.com.cn" target="_blank">日韩精品久久久久久免费</a>| <a href="http://www.wdcqc.cn" target="_blank">中文字幕无码久久人妻</a>| <a href="http://www.hbsannong.com.cn" target="_blank">91精品婷婷国产综合久久</a>| <a href="http://www.xlijz.cn" target="_blank">久久久久亚洲AV无码网站</a>| <a href="http://www.take-art.cn" target="_blank">久久亚洲精品国产亚洲老地址</a>| <a href="http://www.hthdw.cn" target="_blank">亚洲国产成人久久综合碰碰动漫3d </a>| <a href="http://www.rosettagetty.com.cn" target="_blank">国产99久久九九精品无码</a>| <a href="http://www.gyvgllqc.cn" target="_blank">亚洲国产精品无码久久</a>| <a href="http://www.46test.cn" target="_blank">久久久午夜精品福利内容</a>| <a href="http://www.37114.cn" target="_blank">久久伊人色</a>| <a href="http://www.mengniu0521.cn" target="_blank">精品久久久久国产免费</a>| <a href="http://www.gdfw.org.cn" target="_blank">久久亚洲精品视频</a>| <a href="http://www.cjbyt.cn" target="_blank">香蕉久久一区二区不卡无毒影院</a>| <a href="http://www.jyran.cn" target="_blank">大伊人青草狠狠久久</a>| <a href="http://www.czb668.cn" target="_blank">99久久无色码中文字幕</a>| <a href="http://www.840ww.cn" target="_blank">久久国产亚洲高清观看</a>| <a href="http://www.linuxls.cn" target="_blank">亚洲精品乱码久久久久久蜜桃不卡</a>| <a href="http://www.cpfang.cn" target="_blank">久久伊人精品一区二区三区</a>| <a href="http://www.x247.cn" target="_blank">久久无码国产专区精品</a>| <a href="http://www.qymlw.cn" target="_blank">久久人人爽人人人人爽AV</a>| <a href="http://www.fiyhigh.com.cn" target="_blank">亚洲人AV永久一区二区三区久久</a>| <a href="http://www.1000su.cn" target="_blank">欧美精品福利视频一区二区三区久久久精品 </a>| <a href="http://www.hm661.cn" target="_blank">奇米影视7777久久精品人人爽</a>| <a href="http://www.lovebuyhome.com.cn" target="_blank">久久人妻少妇嫩草AV蜜桃</a>| <a href="http://www.6dou.net.cn" target="_blank">久久婷婷五月综合色99啪ak</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>