锘??xml version="1.0" encoding="utf-8" standalone="yes"?>91久久黄色,欧美精品成人一区二区在线观看 ,性一交一乱一区二区洋洋avhttp://www.shnenglu.com/rebol/category/4287.htmlzh-cnWed, 28 May 2008 16:58:25 GMTWed, 28 May 2008 16:58:25 GMT60鏃犻棯鐑佸埛灞忔妧鏈殑瀹炵幇錛堟枃绔犳潵鑷細http://www.vchelp.net錛?/title><link>http://www.shnenglu.com/rebol/archive/2007/05/30/25100.html</link><dc:creator>rebol</dc:creator><author>rebol</author><pubDate>Tue, 29 May 2007 18:13:00 GMT</pubDate><guid>http://www.shnenglu.com/rebol/archive/2007/05/30/25100.html</guid><wfw:comment>http://www.shnenglu.com/rebol/comments/25100.html</wfw:comment><comments>http://www.shnenglu.com/rebol/archive/2007/05/30/25100.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/rebol/comments/commentRss/25100.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/rebol/services/trackbacks/25100.html</trackback:ping><description><![CDATA[<p></p> <p>榪欑瘒鏂囩珷甯簡鎴戝ぇ蹇欙紝涓嶈繃鐜板湪榪樻槸涓嶇煡閬撴秷闄FC棰勮鐨勮儗鏅壊錛屽墠涓ょ鏂規硶濡備綍瀹炵幇錛熸垜瀵筂FC鐨勬鏋惰繕涓嶆槸寰堜簡瑙? <p>  <p>鏃犻棯鐑佸埛灞忔妧鏈殑瀹炵幇(鏂囩珷鏉ヨ嚜:http://www.vchelp.net) <p>鍦ㄥ疄鐜扮粯鍥劇殑榪囩▼涓紝鏄劇ず鐨勫浘褰㈡繪槸浼氶棯鐑侊紝絎旇呮浘緇忚榪欎釜闂鎶樼(浜嗗ソ涔咃紝閫氳繃鍚戦珮鎵嬭鏁欙紝鎼滅儲璧勬枡錛岄棶棰樹竴鍩烘湰瑙e喅錛岀幇灝嗘枃妗f暣鐞嗗嚭鏉ヤ互渚涘ぇ瀹跺弬鑰?<br>1.      鏄劇ず鐨勫浘褰負浠涔堜細闂儊錛?br>鎴戜滑鐨勭粯鍥捐繃紼嬪ぇ澶氭斁鍦∣nDraw鎴栬匫nPaint鍑芥暟涓紝OnDraw鍦ㄨ繘琛屽睆騫曟樉紺烘椂鏄敱OnPaint榪涜璋冪敤鐨勩傚綋紿楀彛鐢變簬浠諱綍鍘熷洜闇瑕侀噸緇樻椂錛屾繪槸鍏堢敤鑳屾櫙鑹插皢鏄劇ず鍖烘竻闄わ紝鐒跺悗鎵嶈皟鐢∣nPaint錛岃岃儗鏅壊寰寰涓庣粯鍥懼唴瀹瑰弽宸緢澶э紝榪欐牱鍦ㄧ煭鏃墮棿鍐呰儗鏅壊涓庢樉紺哄浘褰㈢殑浜ゆ浛鍑虹幇錛屼嬌寰楁樉紺虹獥鍙g湅璧鋒潵鍦ㄩ棯銆傚鏋滃皢鑳屾櫙鍒瘋緗垚NULL錛岃繖鏍鋒棤璁烘庢牱閲嶇粯鍥懼艦閮戒笉浼氶棯浜嗐傚綋鐒訛紝榪欐牱鍋氫細浣垮緱紿楀彛鐨勬樉紺轟貢鎴愪竴鍥紝鍥犱負閲嶇粯鏃舵病鏈夎儗鏅壊瀵瑰師鏉ョ粯鍒剁殑鍥懼艦榪涜娓呴櫎錛岃屽張鍙犲姞涓婁簡鏂扮殑鍥懼艦銆傛湁鐨勪漢浼氳錛岄棯鐑佹槸鍥犱負緇樺浘鐨勯熷害澶參鎴栬呮樉紺虹殑鍥懼艦澶鏉傞犳垚鐨勶紝鍏跺疄榪欐牱璇村茍涓嶅錛岀粯鍥劇殑鏄劇ず閫熷害瀵歸棯鐑佺殑褰卞搷涓嶆槸鏍規湰鎬х殑銆備緥濡傚湪OnDraw(CDC *pDC)涓繖鏍峰啓錛?br>pDC->MoveTo(0,0);<br>pDC->LineTo(100,100);<br>榪欎釜緇樺浘榪囩▼搴旇鏄潪甯哥畝鍗曘侀潪甯稿揩浜嗗惂錛屼絾鏄媺鍔ㄧ獥鍙e彉鍖栨椂榪樻槸浼氱湅瑙侀棯鐑併傚叾瀹炰粠閬撶悊涓婅錛岀敾鍥劇殑榪囩▼瓚婂鏉傝秺鎱㈤棯鐑佸簲璇ヨ秺灝戯紝鍥犱負緇樺浘鐢ㄧ殑鏃墮棿涓庣敤鑳屾櫙娓呴櫎灞忓箷鎵鑺辯殑鏃墮棿鐨勬瘮渚嬭秺澶т漢瀵歸棯鐑佺殑鎰熻浼氳秺涓嶆槑鏄俱傛瘮濡傦細娓呮灞忓箷鏃墮棿涓?s緇樺浘鏃墮棿涔熸槸涓?s錛岃繖鏍峰湪10s鍐呯殑榪炵畫閲嶇敾涓氨瑕侀棯鐑?嬈★紱濡傛灉娓呮灞忓箷鏃墮棿涓?s涓嶅彉錛岃岀粯鍥炬椂闂翠負9s錛岃繖鏍?0s鍐呯殑榪炵畫閲嶇敾鍙細闂儊涓嬈°傝繖涓篃鍙互璇曢獙錛屽湪OnDraw(CDC *pDC)涓繖鏍峰啓錛?br>for(int i=0;i<100000;i++)<br>{<br>pDC->MoveTo(0,i);<br>pDC->LineTo(1000,i);<br>}<br>鍛靛懙錛岀▼搴忔湁鐐瑰彉鎬侊紝浣嗘槸鑳借鏄庨棶棰樸?br>     璇村埌榪欓噷鍙兘鍙堟湁浜鴻璇翠簡錛屼負浠涔堜竴涓畝鍗曞浘褰㈢湅璧鋒潵娌℃湁澶嶆潅鍥懼艦閭d箞闂憿錛熻繖鏄洜涓哄鏉傚浘褰㈠崰鐨勯潰縐ぇ錛岄噸鐢繪椂閫犳垚鐨勫弽宸瘮杈冨ぇ錛屾墍浠ユ劅瑙変笂瑕侀棯寰楀帀瀹充竴浜涳紝浣嗘槸闂儊棰戠巼瑕佷綆銆傞偅涓轟粈涔堝姩鐢葷殑閲嶇敾棰戠巼楂橈紝鑰岀湅璧鋒潵鍗翠笉闂紵榪欓噷錛屾垜灝辮鍐嶆寮鴻皟浜嗭紝闂儊鏄粈涔堬紵闂儊灝辨槸鍙嶅樊錛屽弽宸秺澶э紝闂儊瓚婂帀瀹熾傚洜涓哄姩鐢葷殑榪炵畫涓や釜甯т箣闂寸殑宸紓寰堝皬鎵浠ョ湅璧鋒潵涓嶉棯銆傚鏋滀笉淇★紝鍙互鍦ㄥ姩鐢葷殑姣忎竴甯т腑闂村姞涓寮犵函鐧界殑甯э紝涓嶉棯鎵嶆憿銆?br>2銆佸浣曢伩鍏嶉棯鐑?br>     鍦ㄧ煡閬撳浘褰㈡樉紺洪棯鐑佺殑鍘熷洜涔嬪悗錛屽鐥囦笅鑽氨濂藉姙浜嗐傞鍏堝綋鐒舵槸鍘繪帀MFC鎻愪緵鐨勮儗鏅粯鍒惰繃紼嬩簡銆傚疄鐜扮殑鏂規硶寰堝錛?br>* 鍙互鍦ㄧ獥鍙e艦鎴愭椂緇欑獥鍙g殑娉ㄥ唽綾葷殑鑳屾櫙鍒蜂粯NULL<br>* 涔熷彲浠ュ湪褰㈡垚浠ュ悗淇敼鑳屾櫙<br>     static CBrush brush(RGB(255,0,0));<br>     SetClassLong(this->m_hWnd,GCL_HBRBACKGROUND,(LONG)(HBRUSH)brush);<br>* 瑕佺畝鍗曚篃鍙互閲嶈澆OnEraseBkgnd(CDC* pDC)鐩存帴榪斿洖TRUE<br>     榪欐牱鑳屾櫙娌℃湁浜嗭紝緇撴灉鍥懼艦鏄劇ず鐨勭‘涓嶉棯浜嗭紝浣嗘槸鏄劇ず涔熻薄鍓嶉潰鎵璇寸殑涓鏍鳳紝鍙樺緱涓鍥貢銆傛庝箞鍔烇紵榪欏氨瑕佺敤鍒板弻緙撳瓨鐨勬柟娉曚簡銆傚弻緙撳啿灝辨槸闄や簡鍦ㄥ睆騫曚笂鏈夊浘褰㈣繘琛屾樉紺轟互澶栵紝鍦ㄥ唴瀛樹腑涔熸湁鍥懼艦鍦ㄧ粯鍒躲傛垜浠彲浠ユ妸瑕佹樉紺虹殑鍥懼艦鍏堝湪鍐呭瓨涓粯鍒跺ソ錛岀劧鍚庡啀涓嬈℃х殑灝嗗唴瀛樹腑鐨勫浘褰㈡寜鐓т竴涓偣涓涓偣鍦拌鐩栧埌灞忓箷涓婂幓錛堣繖涓繃紼嬮潪甯稿揩錛屽洜涓烘槸闈炲父瑙勬暣鐨勫唴瀛樻嫹璐濓級銆傝繖鏍峰湪鍐呭瓨涓粯鍥炬椂錛岄殢渚跨敤浠涔堝弽宸ぇ鐨勮儗鏅壊榪涜娓呴櫎閮戒笉浼氶棯錛屽洜涓虹湅涓嶈銆傚綋璐村埌灞忓箷涓婃椂錛屽洜涓哄唴瀛樹腑鏈緇堢殑鍥懼艦涓庡睆騫曟樉紺哄浘褰㈠樊鍒緢灝忥紙濡傛灉娌℃湁榪愬姩錛屽綋鐒跺氨娌℃湁宸埆錛夛紝榪欐牱鐪嬭搗鏉ュ氨涓嶄細闂?br>3銆佸浣曞疄鐜板弻緙撳啿<br>     棣栧厛緇欏嚭瀹炵幇鐨勭▼搴忥紝鐒跺悗鍐嶈В閲婏紝鍚屾牱鏄湪OnDraw(CDC *pDC)涓細<br>CDC MemDC; //棣栧厛瀹氫箟涓涓樉紺鴻澶囧璞?br>CBitmap MemBitmap;//瀹氫箟涓涓綅鍥懼璞?br>//闅忓悗寤虹珛涓庡睆騫曟樉紺哄吋瀹圭殑鍐呭瓨鏄劇ず璁懼<br>MemDC.CreateCompatibleDC(NULL);<br>//榪欐椂榪樹笉鑳界粯鍥撅紝鍥犱負娌℃湁鍦版柟鐢?^_^<br>//涓嬮潰寤虹珛涓涓笌灞忓箷鏄劇ず鍏煎鐨勪綅鍥撅紝鑷充簬浣嶅浘鐨勫ぇ灝忓槢錛屽彲浠ョ敤紿楀彛鐨勫ぇ灝?br>MemBitmap.CreateCompatibleBitmap(pDC,nWidth,nHeight);<br>//灝嗕綅鍥鵑夊叆鍒板唴瀛樻樉紺鴻澶囦腑<br>//鍙湁閫夊叆浜嗕綅鍥劇殑鍐呭瓨鏄劇ず璁懼鎵嶆湁鍦版柟緇樺浘錛岀敾鍒版寚瀹氱殑浣嶅浘涓?br>CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);<br>//鍏堢敤鑳屾櫙鑹插皢浣嶅浘娓呴櫎騫插噣錛岃繖閲屾垜鐢ㄧ殑鏄櫧鑹蹭綔涓鴻儗鏅?br>//浣犱篃鍙互鐢ㄨ嚜宸卞簲璇ョ敤鐨勯鑹?br>MemDC.FillSolidRect(0,0,nWidth,nHeight,RGB(255,255,255));<br>//緇樺浘<br>MemDC.MoveTo(鈥︹?;<br>MemDC.LineTo(鈥︹?;<br>//灝嗗唴瀛樹腑鐨勫浘鎷瘋礉鍒板睆騫曚笂榪涜鏄劇ず<br>pDC->BitBlt(0,0,nWidth,nHeight,&MemDC,0,0,SRCCOPY);<br>//緇樺浘瀹屾垚鍚庣殑娓呯悊<br>MemBitmap.DeleteObject();<br>MemDC.DeleteDC();<br>涓婇潰鐨勬敞閲婂簲璇ュ緢璇﹀敖浜嗭紝搴熻瘽灝變笉澶氳浜嗐?br>4銆佸浣曟彁楂樼粯鍥劇殑鏁堢巼<br>      瀹為檯涓婏紝鍦∣nDraw(CDC *pDC)涓粯鍒剁殑鍥懼茍涓嶆槸鎵鏈夐兘鏄劇ず浜嗙殑錛屼緥濡傦細浣犲湪OnDraw涓敾浜嗕袱涓煩褰紝鍦ㄤ竴嬈¢噸緇樹腑铏界劧涓や釜鐭╁艦鐨勭粯鍒跺嚱鏁伴兘鏈夋墽琛岋紝浣嗘槸寰堟湁鍙兘鍙湁涓涓樉紺轟簡錛岃繖鏄洜涓篗FC鏈韓涓轟簡鎻愰珮閲嶇粯鐨勬晥鐜囪緗簡瑁佸壀鍖恒傝鍓尯鐨勪綔鐢ㄥ氨鏄細鍙湁鍦ㄨ繖涓尯鍐呯殑緇樺浘榪囩▼鎵嶄細鐪熸鏈夋晥錛屽湪鍖哄鐨勬槸鏃犳晥鐨勶紝鍗充嬌鍦ㄥ尯澶栨墽琛屼簡緇樺浘鍑芥暟涔熸槸涓嶄細鏄劇ず鐨勩傚洜涓哄鏁版儏鍐典笅紿楀彛閲嶇粯鐨勪駭鐢熷ぇ澶氭槸鍥犱負紿楀彛閮ㄥ垎琚伄鎸℃垨鑰呯獥鍙f湁婊氬姩鍙戠敓錛屾敼鍙樼殑鍖哄煙騫朵笉鏄暣涓浘褰㈣屽彧鏈変竴灝忛儴鍒嗭紝榪欎竴閮ㄥ垎闇瑕佹敼鍙樼殑灝辨槸pDC涓殑瑁佸壀鍖轟簡銆傚洜涓烘樉紺猴紙寰鍐呭瓨鎴栬呮樉瀛橀兘鍙樉紺猴級姣旂粯鍥捐繃紼嬬殑璁$畻瑕佽垂鏃跺緱澶氾紝鏈変簡瑁佸壀鍖哄悗鏄劇ず鐨勫氨鍙槸搴旇鏄劇ず鐨勯儴鍒嗭紝澶уぇ鎻愰珮浜嗘樉紺烘晥鐜囥備絾鏄繖涓鍓尯鏄疢FC璁劇疆鐨勶紝瀹冨凡緇忎負鎴戜滑鎻愰珮浜嗘樉紺烘晥鐜囷紝鍦ㄨ繘琛屽鏉傚浘褰㈢殑緇樺埗鏃跺浣曡繘涓姝ユ彁楂樻晥鐜囧憿錛熼偅灝卞彧鏈夊幓鎺夊湪瑁佸壀鍖哄鐨勭粯鍥捐繃紼嬩簡銆傚彲浠ュ厛鐢╬DC->GetClipBox()寰楀埌瑁佸壀鍖猴紝鐒跺悗鍦ㄧ粯鍥炬椂鍒ゆ柇浣犵殑鍥懼艦鏄惁鍦ㄨ繖涓尯鍐咃紝濡傛灉鍦ㄥ氨鐢伙紝涓嶅湪灝變笉鐢匯?br>濡傛灉浣犵殑緇樺浘榪囩▼涓嶅鏉傦紝榪欐牱鍋氬彲鑳藉浣犵殑緇樺浘鏁堢巼涓嶄細鏈夋彁楂樸?/p><img src ="http://www.shnenglu.com/rebol/aggbug/25100.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/rebol/" target="_blank">rebol</a> 2007-05-30 02:13 <a href="http://www.shnenglu.com/rebol/archive/2007/05/30/25100.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>紼嬪簭鐨勯洀褰㈠啓濂戒簡http://www.shnenglu.com/rebol/archive/2007/05/30/25099.htmlrebolrebolTue, 29 May 2007 18:01:00 GMThttp://www.shnenglu.com/rebol/archive/2007/05/30/25099.htmlhttp://www.shnenglu.com/rebol/comments/25099.htmlhttp://www.shnenglu.com/rebol/archive/2007/05/30/25099.html#Feedback0http://www.shnenglu.com/rebol/comments/commentRss/25099.htmlhttp://www.shnenglu.com/rebol/services/trackbacks/25099.html緇堜簬瀹屾垚浜咥闃舵錛屼笅闈㈠彲浠ヨ繘鍏闃舵浜嗭紝涓昏闆嗕腑鍦ㄧ▼搴忕殑UI涓婏紝鍙﹀鑰冭檻濡備綍鎻愬崌閫熷害銆?/p>

鎴戠殑涓存椂鏂囨。錛岀湅璧鋒潵濂戒貢錛岀▼搴忛噷鐨勬爣璇嗙涔熸病瀹屽叏鎸夋枃妗i噷鐨勬潵錛岀湡鏄貢濂椾簡錛屾槑澶╁ソ濂戒慨鏀逛慨鏀廣?/p>

 

 

鏀懼叆MyDefine.h,MyDefine.cpp鏂囦歡

1錛?娌崇殑杈圭嚎

Doc閲屾斁鍏ワ細

//num of ctrl pnt,nodal pnt,display style,

//wave speed wave distance and wave num

int ctrlNum,ndlNum,style,wSpeed,wDistance,wNum;

//the pnt array represent ctrl pnts and nodal pnts.

CArray <CPoint,CPoint&> c_PntsL,c_PntR,n_PntsL,n_PntsR;

瑙嗗浘綾誨拰鏂囨。綾婚兘瑕佸紩鐢?/b>MyDefine.h錛岀敤錛?/b>ifndef鍚?/b>

浠ヤ笅鍐呭鏀懼湪瑙嗗浘綾婚噷鐨凮nCreate鍑芥暟涓紝鍏堜負CView鐨勬淳鐢熺被澹版槑涓涓浘鍏冩枃浠剁殑鏁版嵁鎴愬憳HMETAFILE m_hMetaFile;

CArray <CPoint,CPoint&> initL,initR;

//棰勫厛杈撳叆鐨勬帶鍒剁偣錛岃嚜瀹氫箟

Int const Max=60;

//CArray <CPointPartner,CPointPartner&> init_CPntPtr,final_CPntPtr;

//CPointPartner浣滀負TYPE鏈夐棶棰橈紝榪樻槸鐢ㄦ暟緇?

//鏀逛負:

CPointPartner init_CPntPtr[Max],final_CPntPtr[Max];

//鏈鍚庣殑鐐瑰鏁扮粍final_CPntPtr緇機Curve綾葷敤

While(i<Num)

{

CPointPartner temp_CPntPtr (initL[i],initR[i]);

init_CPntPtr.Add(temp_CPntPtr);

i++;

}

//榧犳爣鐐瑰嚮鎴栭鍏堟寚瀹氭帶鍒剁偣錛屽嵆涓浜涚偣瀵?

//浠ュ強澶勭悊鍚庡緱鍒扮殑鐐瑰

CSpline spL (initL);

CSpline spR (initR);

//涓よ竟鐨勬牱鏉℃洸綰?

CArray<CPoint,CPoint&> finalL,finalR;

//澶勭悊鍚庡緱鍒扮殑鏍鋒潯鏇茬嚎涓婄殑鐐?

spL.GetPoints(finalL);

spR.GetPoints(finalR);

Count=finalL.GetSize();

For(int i=0;i<count;i++)

{

CPointPartner Temp_finalP (finalL[i],finalR[i])

Final_CPntPtr[i]=temp_finalP;//閲嶈澆錛濊繍綆楃

}

//灝嗘牱鏉″璞pL錛宻pR閲岀殑鐐規斁鍏inalL鍜宖inalR,涔嬪悗鍙堟斁鍏ョ偣瀵規暟緇刦inal_CPntPtr;

//鍏眂ount涓偣瀵?

CMetaFileDC metaFileDC;

metaFileDC.Create();

榪欓噷鐢誨嚭杈圭嚎錛堥氳繃finalL鍜宖inalR錛?/b>

m_hMetaFile=metaFileDC.Close();

5錛?3鏅?9錛?0浠ヤ笂紼嬪簭鐨勮皟璇曞凡瀹屾垚錛堟湭鍔犻紶鏍囨帶鍒訛級

2錛?涓閬撻亾娉㈢汗錛?/b>CCurve綾伙級

鍦ㄨ鍥劇被涓0鏄庢暟鎹細CArray<Points,Points&> mPntsCurve;

鍦∣nDraw閲?

鍏堢‘瀹氭按娉綅緗細

WavePL[i]鍜學avePR[i]

For錛坕nt i=0,i<WaveN;i++錛?

{

CCurve tempCurve (final_CPntPtr[i]);

tempCurve.ComputePnts(mPntsCurve);

榪炶繖浜涚偣鎴愮嚎

}

璇︾粏璁捐錛?

Doc閲屽畾涔変袱涓偣錛?

View閲屽畾涔変竴涓嚱鏁癇OOL ComputePnts(CArray<CPoint,CPoint&>& m_Pnts,CPoint m_LPnt,CPoint m_RPnt)

OnDraw閲岀粰涓や釜鐐硅祴鍊鹼紝璋冪敤ComputePnts錛屽啀緇樺浘

涓?/b>MFC鐨勮仈緋?/b>

//鐢ㄥ浘鍏冩枃浠朵繚瀛樿竟綰匡紝涓棿鐨刢urve鍗蟲椂鐢誨嚭鏉?/b>

//瑕佹弿緇樼殑鐐癸紝姣忎袱鐐圭敾鏉$嚎榪炴帴LineTO

鎴栬呭皢鐐歸泦鐨勮綆楅兘鏀懼湪鏂囨。綾諱腑錛岀粰鏂囨。綾繪柊寤轟袱涓嚱鏁?/b>

鏁版嵁鐨勬斁緗綅緗繕寰楃悽紓ㄧ悽紓?/b>

5錛?1 鏅?2錛?0姝ゆ枃妗e畬鎴?/b>

Spline鐨勮綆楀湪CDoc閲岋紝Curve鐨勮綆楀湪CView閲?/b>

5. 29 鏅?錛?7 娣誨姞錛堟槑澶╁啀淇敼錛?/b>

 

5.30

Q: Spline閲岀殑temp鍊間嬌寰楁暟緇勮秺鐣岄棶棰?/b>

A: 綺懼害閫犳垚鐨勶紝涓や釜float鍨嬪彉閲弔鍜孴1[j1+1]閮戒負0.90000,浣唗>T1[j1+1]涓簍rue,

Tips錛?/b>

1錛?鏌ユ壘綾誨瀷寮哄埗杞崲浠ュ強綺懼害涓㈠け鐨勭煡璇?/b>

2錛?鐪嬫灄閿愮殑銆婇珮璐ㄩ噺C++緙栫▼銆嬶紝娉ㄦ剰榪欎簺緇嗚妭銆?/b>

5.31

宸插畬鎴愶細浣嶅浘浣滀負鑳屾櫙銆?/b>

 

Q:榧犳爣鎺у埗鐨勯棶棰?/b>



rebol 2007-05-30 02:01 鍙戣〃璇勮
]]>
Windows緙栫▼鍑犱釜鐭ヨ瘑鐐?/title><link>http://www.shnenglu.com/rebol/archive/2007/05/16/24248.html</link><dc:creator>rebol</dc:creator><author>rebol</author><pubDate>Wed, 16 May 2007 14:48:00 GMT</pubDate><guid>http://www.shnenglu.com/rebol/archive/2007/05/16/24248.html</guid><wfw:comment>http://www.shnenglu.com/rebol/comments/24248.html</wfw:comment><comments>http://www.shnenglu.com/rebol/archive/2007/05/16/24248.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/rebol/comments/commentRss/24248.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/rebol/services/trackbacks/24248.html</trackback:ping><description><![CDATA[<p>1銆佸ぇ鑷磋鏉indows緙栫▼鏈変袱縐嶆柟娉曪細<br>a.windwos c鏂瑰紡(SDK),SDK緙栫▼灝辨槸鐩存帴璋冪敤windows鐨凙PI榪涜緙栫▼;<br>b.c++鏂瑰紡:鍗沖SDK鍑芥暟榪涜鍖呰錛屽VC鐨凪FC,BCB鐨凮WL絳夈侻FC鎶婅繖浜汚PI灝侀棴璧鋒潵錛屽叡鏈変竴鐧懼涓被緇勬垚.</p> <p>2銆丄PI,鍏ㄧОapplication program interface,鎰忔濇槸搴旂敤紼嬪簭緙栫▼鎺ュ彛(璇磋搗API騫朵笉浠呬粎鎸噖indows鑰岃█錛?windows鏀寔鐨凙PI鍙玾inapi)銆倃inapi灝辨槸搴旂敤紼嬪簭鍜寃indows涔嬮棿閫氳鐨勪竴涓紪紼嬬晫闈€倃indows鎻愪緵浜嗕笂鍗冧釜API鍑芥暟錛屼互鏂逛究紼嬪簭鍛樻潵緙栧啓搴旂敤紼嬪簭銆?/p> <p>3銆乄inSDK紼嬪簭璁捐灝辨槸API鏂瑰紡鐨剋indows紼嬪簭璁捐銆係DK,鍏ㄧОSoftware Developers Kit,鎰忔濇槸杞歡寮鍙戝伐鍏風銆?/p> <p>4銆丮FC,鍏ㄧОMicrosoft Foundation Classes,浼蔣鎶奧inAPI榪涜灝佽鐨勭被搴撱傚畠鏄竴涓被鐨勯泦鍚堬紝閫氳繃瑕嗙洊WinAPI錛屼負緙栫▼鎻愪緵浜嗕竴涓潰鍚戝璞$殑鐣岄潰銆傚畠浣縲indows紼嬪簭鍛樿兘澶熷埄鐢–++闈㈣薄瀵硅薄鐨勭壒鎬ц繘琛岀紪紼嬶紝綾諱技BCB鐨凮WL錛孌elphi鐨刅CL緇勪歡銆傚畠鎶婇偅浜涜繘琛孲DK緙栫▼鏃舵渶綣佺悙鐨勯儴鍒嗘彁渚涚粰紼嬪簭鍛橈紝浣夸箣涓撴敞浜庡姛鑳界殑瀹炵幇銆備綘涓嶅Θ鎶婂畠鎯寵薄鎴愮被浼糡C鎻愪緵鐨勫嚱鏁板簱鍚с?/p> <p>5銆乨os涓嬬殑C緙栫▼鐨刴ain()涓鏍鳳紝windows涓嬬殑鍏ュ彛鏄疻inMain()鍑芥暟銆?/p> <p>6銆乄inMain()鎵璧風殑浣滅敤錛氬垵濮嬪寲錛屽睍紺猴紝閿姣佸簲鐢ㄧ▼搴忕瓑銆?br>絎竴涓弬鏁幫細搴旂敤紼嬪簭鐨勫綋鍓嶅疄渚嬪彞鏌勩?br>絎簩涓弬鏁幫細搴旂敤紼嬪簭鐨勫墠涓涓疄渚嬪彞鏌勶紝鍒瀹冿紝瀵逛簬Win32浣嶈岃█錛屽畠涓鑸槸NULL.<br>絎笁涓弬鏁幫細鎸囧悜浠諱綍浼犵粰紼嬪簭鐨勫懡浠よ鍙傛暟銆侾STR浠h〃"鎸囧悜瀛楃涓茬殑鎸囬拡"銆?br>絎洓涓弬鏁幫細瀹冨憡璇夊簲鐢ㄧ▼搴忓浣曞垵濮嬪寲紿楀彛錛屽鏈澶у寲錛屾渶灝忓寲絳夌姸鎬併?/p> <p>7銆佸彞鏌?handle)錛?br>鍦ㄦ爣鍑咰搴撲腑鍙ユ焺鐢ㄦ潵瀵規枃浠惰緭鍏ヨ緭鍑恒?br>鍦╓indows鐜涓紝鍙ユ焺鏄敤鏉ユ爣璇嗛」鐩殑錛岃繖浜涢」鐩寘鎷細<br>*.妯″潡(module)<br>*.浠誨姟(task)<br>*.瀹炰緥(instance)<br>*.鏂囦歡(file)<br>*.鍐呭瓨鍧?block of memory)<br>*.鑿滃崟(menu)<br>*.鎺у埗(control)<br>*.瀛椾綋(font)<br>*.璧勬簮(resource),鍖呮嫭鍥炬爣(icon)錛屽厜鏍?cursor)錛屽瓧絎︿覆(string)絳?br>*.GDI瀵硅薄(GDI object),鍖呮嫭浣嶅浘(bitmap),鐢誨埛(brush),鍏冩枃浠?metafile),璋冭壊鏉?palette),鐢?絎?pen),鍖哄煙(region),浠ュ強璁懼鎻忚堪琛?device context)銆?br>WINDOWS紼嬪簭涓茍涓嶆槸鐢ㄧ墿鐞嗗湴鍧鏉ユ爣璇嗕竴涓唴瀛樺潡錛屾枃浠訛紝浠誨姟鎴栧姩鎬佽鍏ユā鍧楃殑錛岀浉鍙嶇殑錛學INDOWS API緇欒繖浜涢」鐩垎閰嶇‘瀹氱殑鍙ユ焺錛屽茍灝嗗彞鏌勮繑鍥炵粰搴旂敤紼嬪簭錛岀劧鍚庨氳繃鍙ユ焺鏉ヨ繘琛屾搷浣溿?/p> <p>紿楀彛鍙ユ焺錛?br>緋葷粺閫氳繃紿楀彛鍙ユ焺鏉ュ湪鏁翠釜緋葷粺涓敮涓鏍囪瘑涓涓獥鍙o紝鍙戦佷竴涓秷鎭椂蹇呴』鎸囧畾涓涓獥鍙e彞鏌勮〃鏄庤娑堟伅鐢遍偅涓獥鍙f帴鏀躲傝屾瘡涓獥鍙i兘浼氭湁鑷繁鐨勭獥鍙h繃紼嬶紝鎵浠ョ敤鎴風殑杈撳叆灝變細琚紜殑澶勭悊銆?/p> <p>8銆佹墍鏈夌殑鍛藉悕閲囩敤浜嗗寛鐗欏埄琛ㄧず娉曘傚娑堟伅鐨勫墠緙浣跨敤msg.鍙ユ焺浣跨敤h.鍑芥暟浣跨敤fn絳夈?/p> <p>9銆丮ainFrm.cpp銆丮ainFrm.h錛?br>榪欎袱涓枃浠跺皢浠嶤FrameWnd(SDI搴旂敤紼嬪簭)鎴朇MDIFrameWnd(MDI搴旂敤紼嬪簭)媧劇敓CMainFrame綾匯傚鏋滃湪AppWizard鐨凙pplication Options欏碉紙6姝ヤ腑鐨勭4姝ワ級涓夋嫨浜嗗搴旂殑鍙夐」鐨勮瘽錛孋MainFrame綾誨皢澶勭悊宸ュ叿鏉℃寜閽拰鐘舵佹潯鐨勫垱寤恒侻AINFRM.CPP鏂囦歡榪樺惈鏈塎FC搴旂敤紼嬪簭鎻愪緵鐨勯粯璁ゅ伐鍏鋒潯鎸夐挳鐨勫璞D鈥斺斿彨鍋歜uttons鏁扮粍銆?/p> <p>10銆丏OS紼嬪簭涓昏浣跨敤欏哄簭鐨勶紝榪囩▼椹卞姩鐨勭▼搴忚璁℃柟娉曘傞『搴忕殑錛岃繃紼嬮┍鍔ㄧ殑紼嬪簭鏈変竴涓槑鏄劇殑寮濮嬶紝鏄庢樉鐨勮繃紼嬪強涓涓槑鏄劇殑緇撴潫錛屽洜姝ょ▼搴忚兘鐩存帴鎺у埗紼嬪簭浜嬩歡鎴栬繃紼嬬殑欏哄簭銆傝櫧鐒跺湪欏哄簭鐨勮繃紼嬮┍鍔ㄧ殑紼嬪簭涓篃鏈夊緢澶氬鐞嗗紓甯哥殑鏂規硶錛屼絾榪欐牱鐨勫紓甯稿鐞嗕篃浠嶇劧鏄『搴忕殑錛岃繃紼嬮┍鍔ㄧ殑緇撴瀯銆?/p> <p>11銆乄indows鐨勯┍鍔ㄦ柟寮忔槸浜嬩歡椹卞姩錛屽氨鏄笉鐢變簨浠剁殑欏哄簭鏉ユ帶鍒訛紝鑰屾槸鐢變簨浠剁殑鍙戠敓鏉ユ帶鍒訛紝鎵鏈夌殑浜嬩歡鏄棤搴忕殑銆傚仛涓轟竴涓▼搴忓憳錛屽湪浣犵紪鍐欑▼搴忔椂錛屼綘騫朵笉鐭ラ亾鐢ㄦ埛鍏堟寜鍝釜鎸夌航錛屼篃涓嶇煡閬撶▼搴忓厛瑙﹀彂鍝釜娑堟伅銆備綘鐨勪換鍔″氨鏄姝e湪寮鍙戠殑搴旂敤紼嬪簭瑕佸彂鍑烘垨瑕佹帴鏀剁殑娑堟伅榪涜鎺掑簭鍜岀鐞嗐備簨浠墮┍鍔ㄧ▼搴忚璁℃槸瀵嗗垏鍥寸粫娑堟伅鐨勪駭鐢熶笌澶勭悊鑰屽睍寮鐨勶紝涓鏉℃秷鎭槸鍏充簬鍙戠敓鐨勪簨浠剁殑娑堟伅銆?/p> <p>12銆乄indows紼嬪簭鍒欒嚦灝戜袱涓富紼嬪簭錛?br>涓涓槸WinMain(),<br>int WINAPI WinMain( <br>銆銆銆銆銆銆銆銆銆銆HINSTANCE hInstance, 銆銆 // handle to current instance<br>銆銆銆銆銆銆銆銆銆銆HINSTANCE hPrevInstance, 銆// handle to previous instance <br>銆銆銆銆銆銆銆銆銆銆LPSTR lpCmdLine, 銆銆銆銆 // command line <br>銆銆銆銆銆銆銆銆銆銆int nCmdShow 銆銆銆銆 // show state <br>銆銆銆銆銆銆銆銆銆);<br>鍙︿竴涓槸紿楀彛榪囩▼鍑芥暟WndProc,瀹冪殑鍑芥暟鍘熷瀷涓?<br>long FAR PASCAL WndProc(HWND hWnd,WORD message,WORD wParam,LONG lParam);</p> <p>13銆佺獥鍙e嚱鏁頒笌鍥炶皟鍑芥暟:<br>鍦╓indows涓紝搴旂敤紼嬪簭閫氳繃瑕佹眰Windows瀹屾垚鎸囧畾鎿嶄綔錛岃屾壙鎷呰繖欏歸氫俊浠誨姟鐨凙PI鍑芥暟灝辨槸Windows鐨勭浉搴旂獥鍙e嚱鏁癢ndProc銆傚簲鐢ㄧ▼搴忎笉鐩存帴璋冪敤浠諱綍紿楀彛鍑芥暟錛岃屾槸絳夊緟Windows璋冪敤紿楀彛鍑芥暟錛岃姹傚畬鎴愪換鍔℃垨榪斿洖淇℃伅銆備負淇濊瘉Windows璋冪敤榪欎釜紿楀彛鍑芥暟錛岃繖涓嚱鏁板繀欏誨厛鍚慦indows鐧昏錛岀劧鍚庡湪Windows瀹炴柦鐩稿簲鎿嶄綔鏃跺洖璋冿紝鎵浠ョ獥鍙e嚱鏁板張縐頒負鍥炶皟鍑芥暟銆俉ndProc鏄竴涓富鍥炶皟鍑芥暟錛學indows鑷沖皯鏈変竴涓洖璋冨嚱鏁般傚吀鍨嬬殑鍥炶皟鍑芥暟鏈夌獥鍙h繃紼嬨佸璇濇榪囩▼鍜岄挬瀛愬嚱鏁般傚疄闄呬笂錛屼篃璁告湁涓嶆涓涓殑紿楀彛榪囩▼銆備緥濡傦紝姣忎竴涓笉鍚岀殑紿楀彛綾婚兘鏈変竴涓笌涔嬬浉瀵瑰簲鐨勭獥鍙h繃紼嬨?/p> <p>15銆佸疄渚?鍦╓indows涓紝鑳藉嬈″悓鏃惰繍琛屽悓涓涓簲鐢ㄧ▼搴忥紝鍗寵繍琛屽涓壇鏈紝姣忎釜鍓湰鍙仛涓涓?#8220;瀹炰緥”銆?/p> <p>16銆丆 runtime鍑芥暟搴擄細</p> <p>灝辮窡瀹冪殑鍚嶅瓧涓鏍?榪愯綾誨瀷淇℃伅<br>涓昏鏈塁Oject綾誨拰CRuntimeClass綾繪潵瀹炵幇,鐢ㄦ潵瀛樿串COject綾誨拰媧劇敓綾葷殑榪愯綾誨瀷淇℃伅,<br>1.綾葷殑鍩烘湰鎯呭喌:濡傜被鐨勫悕瀛?瀛樿串絀洪棿澶у皬,鐢ㄤ簬榪愯綾葷殑綾誨瀷紜畾.<br>2.ms鍦–++鐨勬爣鍑嗕笂,娣誨姞鍔ㄦ佸垱寤虹殑綾誨璞″姛鑳?涔熷氨鏄椂鏃舵彁鍒扮殑鍔ㄦ佸垱寤?br>3.涓茶鍖栧鐞?<br>The OS does not know main(), so C-runtime is first called and transfer control to main<br>it also provide library for common usage, such as math functions</p> <p>17銆乄inMain()鍑芥暟鐨勮皟鐢ㄧ害瀹氭槸PASCAL銆?/p> <p>鍦ㄨ繖閲孭ASCAL鏄竴涓皟鐢ㄧ害瀹氾紝鐢變簬榪欑鏂瑰紡鏈鏃╃敱PASCAL閲囩敤錛屾墍浠ヨ繖涔堝彨銆?br>鍦∕SDN涓殑C++ Language Reference涓紝Calling Conventions榪欎竴绔犻兘鏄璋冪敤綰﹀畾鐨勩?/p> <p>綰﹀畾錛氬井杞噸瀹氫箟浜嗚澶氱害瀹氱被鍨嬶紝涓虹殑鏄彲浠ヨ浠g爜鏇村鏄撹法騫沖彴鎴栬呰法緙栬瘧鍣ㄣ?br>鍏跺疄錛岃皟鐢ㄧ害瀹氳瑙e喅涓や釜闂錛岄兘鏄拡瀵瑰爢鏍堟搷浣滐細<br>1銆傚弬鏁頒紶閫掔殑欏哄簭錛堟湰璐ㄦ槸鍘嬫爤鐨勯『搴忥級<br>2銆傝皝璐熻矗騫蟲爤錛堣皟鐢ㄨ呰繕鏄皟鐢ㄥ璞★級<br>涓涓嚱鏁扮殑澹版槑銆佸畾涔夊拰瀹炵幇涓殑璋冪敤鏂瑰紡涓鑸兘涓鑷淬?/p> <p>WINAPI鏍囪瘑絎︾殑瀹氫箟鏄細#define WINAPI __stdcall, __stdcall鎸嘩indow璋冪敤鍑芥暟鐨勪竴縐嶆柟寮忥紝涔熷氨鏄浣曞湪鍫嗕腑瀛樺彇鍑芥暟鍙傛暟鐨勬柟寮忋傝澶歐indows Api鍑芥暟璋冪敤澹版槑涓篲_stdcall鏂瑰紡銆?/p> <p>18銆佺敤浣嶇殑“鎴?#8221;鎿嶄綔錛堟搷浣滅“|”錛夋妸鑻ュ共涓父鏁扮粍鍚堣搗鏉ユ帶鍒舵秷鎭獥鍙f樉紺虹殑鎸夐挳鍜屽浘鏍囩瓑銆?/p> <p>19銆佸湪Windows搴旂敤紼嬪簭涓紝姣忎竴涓獥鍙i兘蹇呴』浠庡睘浜庝竴涓獥鍙g被錛岀獥鍙g被瀹氫箟浜嗙獥鍙f墍鍏鋒湁鐨勫睘鎬э紝濡傚畠鐨勬牱寮忋佸浘鏍囥侀紶鏍囨寚閽堛佽彍鍗曞悕縐板強紿楀彛榪囩▼鍚嶇瓑銆?br>紿楀彛縐嶇被鏄畾涔夌獥鍙e睘鎬х殑妯℃澘,榪欎簺灞炴у寘鎷獥鍙e紡鏍?榧犳爣褰㈢姸,鑿滃崟絳夌瓑,紿楀彛縐嶇被涔熸寚瀹氬鐞嗚綾諱腑鎵鏈夌獥鍙f秷鎭殑紿楀彛鍑芥暟.鍙湁鍏堝緩绔嬬獥鍙g綾?鎵嶈兘鏍規嵁紿楀彛縐嶇被鏉ュ垱寤篧indows搴旂敤紼嬪簭鐨勪竴涓垨澶氫釜紿楀彛.鍒涘緩紿楀彛鏃?榪樺彲浠ユ寚瀹氱獥鍙g嫭鏈夌殑闄勫姞鐗規?紿楀彛縐嶇被綆縐扮獥鍙g被,紿楀彛綾諱笉鑳介噸鍚?鍦ㄥ緩绔嬬獥鍙g被鍚?蹇呴』鍚慦indows鐧昏.寤虹珛紿楀彛綾誨氨鏄敤WNDCLASS緇撴瀯瀹氫箟涓涓粨鏋勫彉閲?</p> <p>20銆乂isual C++鎻愪緵Alt+F8鍔熻兘閿紝榪涜鏂囦歡瑙勬牸鍖栵紝鏍規嵁鍛ㄥ洿鐨勪唬鐮佽錛屾紜緝榪涢夊畾鐨勪唬鐮佽銆傚父浣跨敤璇ユ寜閿彲浣垮緱鏂囦歡淇濇寔瑙勬牸鍖?娉紝Alt+F8鍔熻兘閿榪炵畫涓や釜CASE璇彞鍒欎細鍙戠敓澶勭悊閿欒錛屼笉鑳借鏍煎寲)銆?</p> <p>21銆佹秷鎭細<br>涓涓秷鎭敱涓涓秷鎭悕縐?UINT)錛屽拰涓や釜鍙傛暟(WPARAM錛孡PARAM)銆傚綋鐢ㄦ埛榪涜浜嗚緭鍏ユ垨鏄獥鍙g殑鐘舵佸彂鐢熸敼鍙樻椂緋葷粺閮戒細鍙戦佹秷鎭埌鏌愪竴涓獥鍙c?/p> <p>22銆佷竴涓吀鍨嬬殑搴旂敤紼嬪簭搴旇媧誨姩鍦ㄧО涓?#8220;妗嗘灦紿楀彛”涓備竴涓鏋剁獥鍙f槸涓涓叏鍔熻兘鐨勪富紿楀彛錛岀敤鎴峰彲浠ユ敼鍙樺昂瀵搞佹渶灝忓寲銆佹渶澶у寲絳夈?/p> <p>23銆佹秷鎭満鍒訛細<br>緋葷粺灝嗕細緇存姢涓涓垨澶氫釜娑堟伅闃熷垪錛屾墍鏈変駭鐢熺殑娑堟伅閮藉洖琚斁鍏ユ垨鏄彃鍏ラ槦鍒椾腑銆傜郴緇熶細鍦ㄩ槦鍒椾腑鍙栧嚭姣忎竴鏉℃秷鎭紝鏍規嵁娑堟伅鐨勬帴鏀跺彞鏌勮屽皢璇ユ秷鎭彂閫佺粰鎷ユ湁璇ョ獥鍙g殑紼嬪簭鐨勬秷鎭驚鐜傛瘡涓涓繍琛岀殑紼嬪簭閮芥湁鑷繁鐨勬秷鎭驚鐜紝鍦ㄥ驚鐜腑寰楀埌灞炰簬鑷繁鐨勬秷鎭茍鏍規嵁鎺ユ敹紿楀彛鐨勫彞鏌勮皟鐢ㄧ浉搴旂殑紿楀彛榪囩▼銆傝屽湪娌℃湁娑堟伅鏃舵秷鎭驚鐜氨灝嗘帶鍒舵潈浜ょ粰緋葷粺鎵浠indows鍙互鍚屾椂榪涜澶氫釜浠誨姟銆?/p> <p>24銆侀緙栬瘧澶存枃浠?<br>VC++紼嬪簭涓鑸寘鍚殑澶存枃浠墮兘姣旇緝澶嶆潅錛屽鏋滄瘡嬈¢兘閫愯鍒嗘瀽鍙兘浼氳姳寰堝鏃墮棿錛屾墍浠C++榛樿璁劇疆鏄涓嬈$紪璇戞椂鍒嗘瀽鎵鏈夊ご鏂囦歡錛岀敓鎴?pch鏂囦歡錛岃繖涓枃浠跺緢澶э紝浣嗕互鍚庢瘡嬈$紪璇戞椂灝卞彲浠ヨ妭鐪佸緢澶氭椂闂淬傚鏋滃垹闄や簡榪欎釜鏂囦歡錛屼笅嬈$紪璇戞椂VC++浼氳嚜鍔ㄧ敓鎴愬畠銆?<br>StdAfx.h鏄瘡涓狹FC紼嬪簭鐨勭被涓繀欏誨寘鎷殑鏂囦歡錛屽畠涓鑸敱AppWizard鑷姩鐢熸垚錛屽寘鎷紪璇慚FC綾繪墍蹇呴』鐨勫畾涔夈?/p> <p>25銆乄indows鏀寔涓ょ綾誨瀷鐨勫璇濇錛氭ā寮忓拰鏃犳ā寮忓璇濇銆?br>妯″紡瀵硅瘽妗嗕竴鏃﹀嚭鐜板湪灞忓箷涓婏紝鍙湁褰撳畠閫鍑烘椂錛屽睆騫曚笂璇ュ簲鐢ㄧ▼搴忕殑鍏朵綑閮ㄥ垎鎵嶈兘鍝嶅簲銆?br>鏃犳ā寮忓璇濇鍑虹幇鍦ㄥ睆騫曚笂鏃訛紝紼嬪簭鐨勫叾浣欓儴鍒嗕篃鍙互浣滃嚭鍝嶅簲錛屽畠灝辮薄嫻姩鍦ㄤ笂闈竴鏍楓?/p> <p>26銆佸崟鏂囨。鐣岄潰(SDI)錛屽彧鏈変竴涓鏋剁獥鍙c?br>MDI 緋葷粺鍏佽鐢ㄦ埛鍦ㄥ悓涓搴旂敤紼嬪簭涓悓鏃跺彲浠ユ煡鐪嬪涓枃妗c?/p> <img src ="http://www.shnenglu.com/rebol/aggbug/24248.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/rebol/" target="_blank">rebol</a> 2007-05-16 22:48 <a href="http://www.shnenglu.com/rebol/archive/2007/05/16/24248.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Windows SDK緙栫▼(紿楀彛紺轟緥紼嬪簭)http://www.shnenglu.com/rebol/archive/2007/05/16/24247.htmlrebolrebolWed, 16 May 2007 14:46:00 GMThttp://www.shnenglu.com/rebol/archive/2007/05/16/24247.htmlhttp://www.shnenglu.com/rebol/comments/24247.htmlhttp://www.shnenglu.com/rebol/archive/2007/05/16/24247.html#Feedback0http://www.shnenglu.com/rebol/comments/commentRss/24247.htmlhttp://www.shnenglu.com/rebol/services/trackbacks/24247.html/*****************************************************
 Windows SDK緙栫▼涔嬩竴  紿楀彛紺轟緥紼嬪簭
******************************************************/

/*Win32搴旂敤紼嬪簭妗嗘灦涓昏鐢?鍒濆鍖栫獥鍙g被"錛?紿楀彛娉ㄥ唽綾?錛?紿楀彛鐨勫垱寤?浠?紿楀彛娑堟伅鍑芥暟"絳夌粍鎴?/
#include "stdafx.h"


LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);  //紿楀彛鍑芥暟璇存槑

/*
  WinMain鍑芥暟鏄墍鏈墂indows搴旂敤紼嬪簭鐨勫叆鍙o紝綾諱技浜嶤璇█涓殑Main鍑芥暟錛屽叾鍔熻兘鏄畬鎴愪竴緋誨垪鐨勫畾涔夊拰鍒濆鍖栧伐浣滐紝騫朵駭鐢熸秷鎭驚鐜傛秷鎭驚鐜槸鏁翠釜紼嬪簭榪愯鐨勬牳蹇冦俉inMain鍑芥暟瀹炵幇浠ヤ笅鍔熻兘銆?br>  1. 娉ㄥ唽紿楀彛綾伙紝寤虹珛紿楀彛鍙婃墽琛屽叾瀹冨繀瑕佺殑鍒濆鍖栧伐浣滐紱
  2. 榪涘叆娑堟伅寰幆錛屾牴鎹粠搴旂敤紼嬪簭娑堟伅闃熷垪鎺ュ彈鐨勬秷鎭紝璋冪敤鐩稿簲鐨勫鐞嗚繃紼?br>  3. 褰撴秷鎭驚鐜绱㈠埌WM_QUIT娑堟伅鏃剁粓姝㈢▼搴忚繍琛屻?/p>

  WinMain鍑芥暟鏈変笁涓熀鏈殑緇勬垚閮ㄤ喚錛氬嚱鏁拌鏄庛佸垵濮嬪寲鍜屾秷鎭驚鐜?/p>

 WinMain鍑芥暟鐨勮鏄庡涓嬶細
 int WINAPI WinMain(  //WinMain鍑芥暟璇存槑
             HINSTANCE hInstance, //紼嬪簭褰撳墠瀹炰緥鍙ユ焺       
             HINSTANCE hPrevInstance,  //搴旂敤紼嬪簭鍏跺畠瀹炰緥鍙ユ焺
             LPSTR     lpCmdLine, //鎸囧悜紼嬪簭鍛戒護琛屽弬鏁扮殑鎸囬拡
             int   nCmdShow  //搴旂敤紼嬪簭寮濮嬫墽琛屾椂紿楀彛鏄劇ず鏂瑰紡鐨勬暣鏁板兼爣璇?br>)
      鐢變簬Window鎿嶄綔緋葷粺鏄浠誨姟鐨勬搷浣滅郴緇燂紝鑳借繘琛屽浠誨姟鐨勭鐞嗭紝鍥犳錛寃indows搴旂敤紼嬪簭鍙兘琚茍琛岀殑澶氭鎵ц錛屽洜鑰屽彲鑳藉嚭鐜板悓涓涓▼搴忕殑澶氫釜紿楀彛鍚屾椂瀛樺湪鐨勬儏鍐碉紝Windows緋葷粺灝嗗簲鐢ㄧ▼搴忔瘡涓嬈℃墽琛岀О涓鴻搴旂敤紼嬪簭鐨勪竴涓疄渚嬶紙Instance錛夛紝騫剁敤涓涓疄渚嬪彞鏌勫敮涓鐨勬爣璇嗗畠銆?/p>

*/
int APIENTRY WinMain(HINSTANCE hInstance,           //WinMain鍑芥暟璇存槑
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
  // TODO: Place code here.
 /*
 寤鴻閲囩敤Pascal鐨勫彉閲忓畾涔夐鏍鹼紝鍗沖湪紼嬪簭錛堝嚱鏁幫級寮濮嬪瀹氫箟鎵鏈夊彉閲?br> 铏界劧C錛嬶紜鐨勫彉閲忓畾涔夋瘮杈冪伒媧伙紝鏈▼搴忎負浜嗕嬌紼嬪簭鏄撲簬鐞嗚В,鏈噰鐢ㄨ繖縐嶆柟娉?br> */
   
 char lpszClassName[]="紿楀彛";       //紿楀彛綾誨悕
 char lpszTitle[]="Windows SDK緙栫▼涔嬩竴  紿楀彛紺轟緥紼嬪簭";   //紿楀彛鏍囬鍚?/p>

 //---------------紿楀彛綾誨畾涔?------------------------------------
 /*
 紿楀彛綾葷殑瀹氫箟
    鍦╓indows搴旂敤紼嬪簭涓紝紿楀彛瀹沖畾涔変簡紿楀彛鐨勫艦寮忎笌鍔熻兘銆傜獥鍙g被瀹氫箟閫氳繃緇欑獥鍙g被鏁版嵁緇撴瀯WNDCLASS璧嬪煎畬鎴愶紝璇ユ暟鎹粨鏋勪腑鍖呮嫭紿楀彛綾葷殑鍚勭灞炴э紝鍦ㄧ獥鍙g被瀹氫箟榪囩▼涓父鐢ㄥ埌浠ヤ笅鍑芥暟錛?br> */
 WNDCLASS wndclass;
 wndclass.style=0;                                              //紿楀彛綾誨瀷涓虹己鐪佺被鍨?br> wndclass.lpfnWndProc=WndProc;                                  //紿楀彛澶勭悊鍑芥暟涓篧ndProc
 wndclass.cbClsExtra=0;                                         //紿楀彛綾繪棤鎵╁睍
 wndclass.cbWndExtra=0;                                         //紿楀彛瀹炰緥鏃犳墿灞?br> wndclass.hInstance=hInstance;                                  //褰撳墠瀹炰緥鍙ユ焺
 
 wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);                 //浣跨敤緙虹渷鍥炬爣
 /*
  LoadIcon錛堬級錛氬湪搴旂敤紼嬪簭涓姞杞戒竴涓獥鍙e浘鏍?br>     LoadIcon錛堬級鍑芥暟鍘熷瀷涓猴細
             HICON LoadIcon錛?br>                   HINSTANCE hInstance,//鍥炬爣璧勬簮鎵鍦ㄧ殑妯″潡鍙ユ焺錛屼負NULL鍒欎嬌鐢ㄧ郴緇熼瀹氫箟鍥炬爣
                   LPCTSTR lpIconName //鍥炬爣璧勬簮鍚嶆垨緋葷粺棰勫畾涔夊浘鏍囨爣璇嗗悕
             )
 */


 wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);                   //紿楀彛閲囩敤綆ご鍏夋爣
    /*
 LoadCursor():鍦ㄥ簲鐢ㄧ▼搴忎腑鍔犺澆涓涓獥鍙e厜鏍?br>    LoadCursor()鍑芥暟鍘熷瀷涓猴細
             HCURSOR LoadCursor錛?br>                     HINSTANCE hInstance,//鍏夋爣璧勬簮鎵鍦ㄧ殑妯″潡鍙ユ焺錛屼負NULL鍒欎嬌鐢ㄧ郴緇熼瀹氫箟鍏夋爣
                     LPCTSTR lpCursorName //鍏夋爣璧勬簮鍚嶆垨緋葷粺棰勫畾涔夊厜鏍囨爣璇嗗悕
             )
 */

 wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);    //紿楀彛鑳屾櫙涓虹櫧鑹?br> /*
  GetStockObject錛堬級錛氳幏鍙栧凡緇忓畾涔夌殑鐢葷瑪銆佺敾鍒楓佸瓧浣撶瓑瀵硅薄鐨勫彞鏌?br>     GetStockObject錛堬級鍑芥暟鍘熷瀷涓猴細
                   HGDIOBJ GetStockObject錛坕nt fnObject錛? //fnObject涓哄璞$殑鏍囪瘑鍚?/p>

 */

 wndclass.lpszMenuName=NULL;                                    //紿楀彛涓棤鑿滃崟
 wndclass.lpszClassName=lpszClassName;                          //紿楀彛綾誨悕涓?紿楀彛瀹炰緥'

 //------------------浠ヤ笅鏄繘琛岀獥鍙g被鐨勬敞鍐?--------------------------
 
 /*
    娉ㄥ唽紿楀彛綾?br>    Windows緋葷粺鏈韓鎻愪緵閮ㄤ喚棰勫畾涔夌殑紿楀彛綾伙紝紼嬪簭鍛樹篃鍙互鑷畾涔夌獥鍙g被錛岀獥鍙g被蹇呴』鍏堟敞鍐屽悗浣跨敤銆傜獥鍙g被鐨勬敞鍐岀敱娉ㄥ唽鍑芥暟RegisterClass錛堬級瀹炵幇銆傚叾褰㈠紡涓?
    RegisterClass(&wndclass)
   &wndclass涓虹獥鍙g被緇撴瀯
      RegisterClass鍑芥暟鐨勮繑鍥炲間負甯冨皵鍊?娉ㄥ唽鎴愬姛鍒欒繑鍥炵湡
 */
 if (! RegisterClass(&wndclass))     //娉ㄥ唽紿楀彛錛岃嫢澶辮觸錛屽垯鍙戝嚭澹伴煶
 { MessageBeep(0);
   return FALSE;
 }
   
 /*
 鍒涘緩紿楀彛瀹炰緥
 鍒涘緩涓涓獥鍙g被鐨勫疄渚嬬敱鍑芥暟CreateWindow()瀹炵幇,璇ュ嚱鏁扮殑鍘熷瀷涓?
    HWND  CreateWindow(LPCTSTR lpszClassName,             //鍒涘緩紿楀彛錛岀獥鍙g被鍚?br>             LPCTSTR lpszTitle,                     //紿楀彛瀹炰緥鐨勬爣棰樺悕
             DWORD dwStyle,           //紿楀彛鐨勯鏍?br>             int x,   //紿楀彛宸︿笂瑙掑潗鏍?br>       int y,   //紿楀彛宸︿笂瑙掑潗鏍?br>             int nWidth,   //紿楀彛鐨勫搴?br>       int nHeight,   //紿楀彛鐨勯珮搴?br>               HWND hwndParent,           //姝ょ獥鍙g埗紿楀彛
             HWENU hMenu,          //姝ょ獥鍙d富鑿滃崟
                HINSTANCE hInstance, //搴旂敤紼嬪簭褰撳墠鍙ユ焺
             LPVOID lpParam);        //鎸囧悜涓涓紶閫掔粰紿楀彛鐨勫弬鏁板肩殑鎸囬拡
 */
 
 //鍒涘緩紿楀彛鎿嶄綔
 HWND hwnd; //紿楀彛緇撴瀯
    hwnd=CreateWindow(lpszClassName,   //鍒涘緩紿楀彛錛岀獥鍙g被鍚?br>  lpszTitle,                     //紿楀彛瀹炰緥鐨勬爣棰樺悕
  WS_OVERLAPPEDWINDOW,           //紿楀彛鐨勯鏍?br>  CW_USEDEFAULT,CW_USEDEFAULT,   //紿楀彛宸︿笂瑙掑潗鏍囦負緙虹渷鍊?br>  CW_USEDEFAULT,CW_USEDEFAULT,   //紿楀彛鐨勯珮搴﹀拰瀹藉害涓虹己鐪佸?br>  NULL,                          //姝ょ獥鍙f棤鐖剁獥鍙?br>  NULL,                          //姝ょ獥鍙f棤涓昏彍鍗?br>  hInstance,                     //搴旂敤紼嬪簭褰撳墠鍙ユ焺
  NULL);                         //涓嶄嬌鐢ㄨ鍊?/p>

 ShowWindow(hwnd,nCmdShow);         //鏄劇ず紿楀彛

 UpdateWindow(hwnd);                //緇樺埗鐢ㄦ埛鍖?br> 

    /*
  娑堟伅寰幆
  windows搴旂敤紼嬪簭鐨勮繍琛屼互娑堟伅涓烘牳蹇冦倃indows灝嗕駭鐢熺殑娑堟伅鏀懼叆搴旂敤紼嬪簭鐨勬秷鎭槦鍒椾腑鑰屽簲鐢ㄧ▼搴廤inMain鍑芥暟鐨勬秷鎭驚鐜彁鍙栨秷鎭槦鍒椾腑鐨勬秷鎭紝騫跺皢鍏朵紶閫掔粰紿楀彛鍑芥暟涓虹浉搴斿鐞嗚繃紼嬪鐞嗐?br>    MSG msg; //娑堟伅緇撴瀯

 while( GetMessage(&msg,NULL,0,0))  //娑堟伅寰幆
 { TranslateMessage(&msg);
   DispatchMessage(&msg);
 }
 */

 MSG msg; //娑堟伅緇撴瀯
  /*GetMessage()浣滅敤錛氫粠娑堟伅闃熷垪涓鍙栦竴鏉℃秷鎭紝騫跺皢娑堟伅鏀懼湪涓涓狹SG緇撴瀯涓細
   BOOL GetMessage(        
        LPMSG lpMsg,  //鎸囧悜MSG緇撴瀯鐨勬寚閽?br>        HWND hWnd,
        UINT wMsgFilterMin, //鐢ㄤ簬娑堟伅榪囨護鐨勬渶灝忎俊鎭彿鍊?br>        UINT wMsgFilterMax //鐢ㄤ簬娑堟伅榪囨護鐨勬渶澶т俊鎭彿鍊?濡傛渶灝忓煎拰鏈澶у煎潎涓?錛?鍒欎笉榪囨護娑堟伅
   );
  褰揋etMessage榪斿洖0鏃訛紝鍗蟲绱㈠埌WM_QUIT娑堟伅錛岀▼搴忓皢緇撴潫寰幆騫墮鍑?/p>

 BOOL TranslateMessage(  const MSG *lpMsg );  璐熻矗鎶婃秷鎭殑铏氭嫙閿艱漿鎹負瀛楃淇℃伅
 LRESULT DispatchMessage( const MSG *lpmsg  ); 灝嗗弬鏁發pmsg鎸囧悜鐨勬秷鎭紶閫掔粰鎸囧畾鐨勭獥鍙?/p>

  */
 while( GetMessage(&msg,NULL,0,0))  //娑堟伅寰幆
 { TranslateMessage(&msg);
   DispatchMessage(&msg);
 }

 return msg.wParam;                //紼嬪簭緇堟鏃訛紝灝嗕俊鎭繑鍥炴搷浣滅郴緇?br>}


//-----------------------------紿楀彛鍑芥暟---------------------------------------
/*
紿楀彛娑堟伅澶勭悊鍑芥暟瀹氫箟浜嗗簲鐢ㄧ▼搴忓鎺ユ敹鍒扮殑涓嶅悓娑堟伅鐨勫搷搴旓紝瀹冨寘鍚簡搴旂敤紼嬪簭瀵瑰悇縐嶅彲鐢ㄦ帴鏀跺埌鐨勬秷鎭殑澶勭悊榪囩▼錛岄氬父銆錛岀獥鍙e嚱鏁扮敱涓涓垨澶氫釜switch...case璇彞緇勬垚錛屾瘡涓鏉ase璇彞
瀵瑰簲涓縐嶆秷鎭紝褰撳簲鐢ㄧ▼搴忔帴鏀跺埌涓涓秷鎭椂錛岀浉搴旂殑case璇彞琚嬋媧誨茍鎵ц鐩稿簲鐨勫搷搴旂▼搴忔ā鍧椼?br>紿楀彛鍑芥暟鐨勪竴鑸艦寮忓涓嬶細
 LRESULT CALLBACK WindowProc(          HWND hwnd,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam
);
Parameters

hwnd銆錛歔in] Handle to the window.
uMsg銆錛歔in] Specifies the message.
wParam錛歔in] Specifies additional message information. The contents of this parameter depend on the value of the uMsg parameter.
lParam錛歔in] Specifies additional message information. The contents of this parameter depend on the value of the uMsg parameter.
Return Value銆
The return value is the result of the message processing and depends on the message sent.

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
  switch (message)
  {
  case ...
      ....
   break;
   .........
  case WM_DESTROY:
     //void PostQuitMessage(int nExitCode)鍑芥暟鐨勪綔鐢ㄦ槸鍚戠▼搴忓彂閫乄M錛縌UIT娑堟伅錛宯ExitCode搴旂敤紼嬪簭閫鍑轟唬鐮?br>      PostQuitMessage(0); //璋冪敤璇ュ嚱鏁板彂鍑篧M_QUIT娑堟伅
  default: //緙虹渷娑堟伅澶勭悊鍑芥暟,浠ヤ繚璇佹墍鐨勫彂寰紿楀彛鐨勬秷鎭兘鑳借澶勭悊
   return DefWindowProc(hwnd,message,wParam,lParam);
  }

  return (0);
}

*/
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
  switch (message)
  {
  case WM_DESTROY:
    PostQuitMessage(0); //璋冪敤璇ュ嚱鏁板彂鍑篧M_QUIT娑堟伅
  default: //緙虹渷娑堟伅澶勭悊鍑芥暟
   return DefWindowProc(hwnd,message,wParam,lParam);
  }

  return (0);
}
/*
娉細
  浜嬩歡椹卞姩鐨勭壒鐐癸細
  Windows紼嬪簭璁捐鍥寸粫鐫浜嬩歡鎴栨秷鎭殑浜х敓椹卞姩浜х敓榪愯娑堟伅澶勭悊鍑芥暟銆俉indows紼嬪簭鐨勬墽琛岄『搴忓彇鍐充簬浜嬩歡鍙戠敓鐨勯『搴忥紝紼嬪簭鐨勬墽琛屾槸鐢遍『搴忎駭鐢熺殑娑堟伅椹卞姩鐨勶紝紼嬪簭鍛樺彲浠ラ拡瀵規秷鎭被鍨嬬紪鍐欐秷鎭鐞嗙▼搴忎互澶勭悊鎺ユ敹鐨勬秷鎭紝鎴栬呭彂鍑哄叾浠栨秷鎭互椹卞姩鍏朵粬澶勭悊紼嬪簭錛屼絾鏄笉蹇呴鍏堢‘瀹氭秷鎭殑浜х敓欏哄簭銆傝繖鏄潰鍚戝璞$紪紼嬩腑浜嬩歡椹卞姩鐨勬樉钁楃壒鐐廣?br>  浜嬩歡椹卞姩緙栫▼鏂規硶瀵逛簬緙栧啓浜や簰紼嬪簭寰堟湁鐢ㄥ錛岀敤榪欎竴鏂規硶緙栧啓鐨勭▼搴忎嬌紼嬪簭閬垮厤浜嗘鏉跨殑鎿嶄綔妯″紡錛屼粠鑰屼嬌鐢ㄦ埛鑳藉鎸夌収鑷繁鐨勬剰鎰塊噰鐢ㄧ伒媧誨鍙樼殑鎿嶄綔妯″紡銆?br>  Windows搴旂敤紼嬪簭涓殑娑堟伅浼犻掓満鍒訛細
  VC涓瓨鍦ㄥ嚑縐嶇郴緇熷畾涔夌殑娑堟伅鍒嗙被錛屽父鐢ㄧ殑娑堟伅鐢辯獥鍙f秷鎭佸垵濮嬪寲娑堟伅銆佽緭鍏ユ秷鎭佺郴緇熸秷鎭佸壀鍒囨澘娑堟伅銆佹枃褰撶晫闈㈡秷鎭丏DE錛堝姩鎬佹暟鎹氦鎹級娑堟伅銆佸簲鐢ㄧ▼搴忚嚜瀹氫箟娑堟伅絳夈傚簲鐢ㄧ▼搴忓彂閫佺殑娑堟伅鍙戦佽嚦娑堟伅闃熷垪錛岀郴緇熸牴鎹秷鎭埌杈劇殑欏哄簭瀵規秷鎭繘琛屽鐞嗭紝騫惰皟鐢ㄥ搷搴旂殑娑堟伅澶勭悊妯″潡浠g爜銆?br>*/



rebol 2007-05-16 22:46 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲电影免费在线| 欧美在线视频不卡| 欧美日韩国产精品一区二区亚洲| 亚洲国产99| 亚洲精品久久久久久一区二区 | 在线观看欧美激情| 久久在线精品| 欧美国产日本在线| 亚洲综合另类| 久久久之久亚州精品露出| 亚洲国产精品v| 99riav国产精品| 国产一区二区精品久久99| 玖玖国产精品视频| 国产精品二区三区四区| 欧美综合77777色婷婷| 久久久精品网| 日韩视频中文| 欧美一站二站| 亚洲最新视频在线播放| 欧美亚洲三区| 一本一本大道香蕉久在线精品| 亚洲女性裸体视频| 亚洲精品欧美日韩专区| 午夜精品久久| 99re视频这里只有精品| 久久国产66| 在线亚洲伦理| 久久精品99国产精品酒店日本| 99精品福利视频| 欧美一级黄色网| 亚洲视频福利| 欧美插天视频在线播放| 久久99伊人| 欧美日韩国产精品一区| 欧美+日本+国产+在线a∨观看| 国产精品久久久久aaaa九色| 亚洲第一精品久久忘忧草社区| 国产精品日韩欧美| 亚洲国产日韩欧美在线图片| 国产区在线观看成人精品| 亚洲人成7777| 亚洲电影免费在线观看| 欧美专区在线观看| 欧美一区二视频| 欧美午夜激情在线| 亚洲日本中文| 亚洲三级观看| 久久综合伊人77777麻豆| 欧美中文字幕| 国产欧美综合一区二区三区| 中国女人久久久| 99ri日韩精品视频| 免费中文字幕日韩欧美| 美国成人毛片| 狠狠v欧美v日韩v亚洲ⅴ| 午夜视频一区二区| 欧美中文字幕在线视频| 国产精一区二区三区| 亚洲一区欧美二区| 亚洲性视频h| 欧美日韩中文另类| 亚洲最快最全在线视频| 亚洲视频一起| 国产精品久久婷婷六月丁香| 亚洲视频一区在线| 亚洲一区二区少妇| 欧美视频中文一区二区三区在线观看| 亚洲乱码精品一二三四区日韩在线| 日韩亚洲精品电影| 欧美日韩在线高清| 在线中文字幕一区| 欧美在线一区二区| 一区二区三区自拍| 久久免费一区| 欧美激情片在线观看| 亚洲乱码精品一二三四区日韩在线 | 久久一区欧美| 亚洲国产成人高清精品| 女人色偷偷aa久久天堂| 亚洲国产成人在线| 亚洲深夜福利视频| 国产女优一区| 久久久亚洲国产天美传媒修理工| 欧美韩日视频| 中文一区在线| 国产主播一区二区三区四区| 久久综合激情| 夜夜嗨av一区二区三区四区| 欧美影视一区| 亚洲电影第1页| 欧美午夜a级限制福利片| 小处雏高清一区二区三区 | 亚洲人妖在线| 国产精品久久久久99| 久久精品成人一区二区三区蜜臀| 欧美激情一区二区三区成人| 亚洲在线一区二区三区| 影音先锋亚洲精品| 欧美丝袜第一区| 久久久久久久91| 99天天综合性| 免费日韩成人| 欧美一二三区精品| 最新国产精品拍自在线播放| 国产精品日产欧美久久久久| 久久综合导航| 亚洲欧美日韩另类| 亚洲精品之草原avav久久| 久久精品亚洲精品| 一区二区三区欧美日韩| 尤物在线精品| 国产模特精品视频久久久久| 免费毛片一区二区三区久久久| 亚洲在线网站| 亚洲乱码国产乱码精品精天堂| 老司机免费视频久久| 午夜天堂精品久久久久| 亚洲免费av电影| 韩国av一区二区三区四区| 国产精品大全| 欧美国产免费| 狼狼综合久久久久综合网 | 亚洲国产成人一区| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲综合国产| 在线综合亚洲| 99在线|亚洲一区二区| 亚洲经典视频在线观看| 一区二区三区在线免费视频| 国产午夜久久| 国产欧美三级| 国产精品一区2区| 国产精品人成在线观看免费| 欧美视频在线观看一区| 欧美日韩视频专区在线播放 | 午夜一区二区三区不卡视频| 中文日韩电影网站| 一级日韩一区在线观看| 亚洲美女尤物影院| 欧美一区二区播放| 国产视频观看一区| 国产精品日韩一区二区三区| 欧美日一区二区在线观看| 欧美日韩在线电影| 欧美午夜视频网站| 国产精品不卡在线| 国产精品午夜国产小视频| 国产精品免费网站| 国产精品久久影院| 国产免费一区二区三区香蕉精| 国产欧美亚洲视频| 极品少妇一区二区| 又紧又大又爽精品一区二区| 亚洲黄网站在线观看| 99热免费精品| 欧美一区二区精品| 久久国产高清| 免费看成人av| 日韩亚洲精品视频| 亚洲欧美亚洲| 麻豆9191精品国产| 欧美日本在线| 国产精品欧美精品| 禁断一区二区三区在线| 亚洲欧洲免费视频| 亚洲综合三区| 美日韩精品免费观看视频| 亚洲经典在线| 亚洲欧美视频在线| 嫩草伊人久久精品少妇av杨幂| 欧美日韩国产999| 国产一区二区看久久| 亚洲国产精品嫩草影院| 亚洲在线网站| 欧美成人伊人久久综合网| 亚洲日本中文| 久久精品在线免费观看| 欧美日本高清| 狠狠色香婷婷久久亚洲精品| 一本色道久久综合狠狠躁篇怎么玩 | 欧美在线亚洲一区| 麻豆成人av| 国产精品视频久久久| 亚洲第一在线视频| 午夜精品福利在线| 亚洲二区视频在线| 亚洲尤物精选| 欧美日韩国语| 亚洲黄色高清| 久久精品国产免费| 亚洲国产成人一区| 欧美主播一区二区三区美女 久久精品人| 欧美精品播放| 国产午夜精品一区理论片飘花| 亚洲色在线视频| 欧美激情第4页| 久久国产精品色婷婷| 国产精品视频成人| avtt综合网|