锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鍒楃紪鍙?= 绱㈠紩鍊?/ 姣忎竴鍒楃殑鍥懼潡涓暟錛堣鏁幫級錛?br>琛岀紪鍙?= 绱㈠紩鍊?% 姣忎竴鍒楃殑鍥懼潡涓暟錛堣鏁幫級錛?/span> 宸︿笂鐐筙鍧愭爣 = xstart + 琛岀紪鍙?×錛坵/2錛?- 鍒楃紪鍙?#215;錛坵/2錛夛紱 宸︿笂鐐筙鍧愭爣 = xstart + 琛岀紪鍙?×錛坵/2錛夛紱 鍦板浘瀹?nbsp;= 錛堝垪鏁?琛屾暟錛?#215;錛坵/2錛夛紱
1銆佽櫄鎷熼敭鐮?/strong>
鍦ㄦ棭鏈熼潪Windows緋葷粺鐨勬満鍣ㄤ笂錛屽鏋滀竴鑸簲鐢ㄧ▼搴忚鍙栧緱浣跨敤鑰呴敭鐩樼殑杈撳叆錛屽氨蹇呴』鍘誨彇寰楄緭鍏ユ寜閿殑“鎵弿鐮侊紙Scan code錛?#8221;銆傛壂鎻忕爜鐢卞疄闄呯殑閿洏紜歡鎵浜х敓錛屼絾鏄敱浜庝笉鍚屽浗瀹朵笉鍚屽尯鍩熸墍浣跨敤鐨勯敭鐩樿澶囧彲鑳戒笉鍚岋紝鍥犳Windows緋葷粺渚垮彂灞曚簡涓濂楁爣鍑嗐傚叾瑙e喅鍔炴硶灝辨槸瀵規(guī)墍鏈夐敭鐩樼殑鎸夐敭瀹氫箟鍑轟竴緇勯氱敤鐨?#8220;铏氭嫙閿爜”錛屼篃灝辨槸璇村湪Windows緋葷粺涓嬫墍鏈夌殑鎸夐敭閮戒細(xì)琚涓鴻櫄鎷熼敭錛堝寘鍚紶鏍囬敭鍦ㄥ唴錛夛紝鑰屾瘡涓涓櫄鎷熼敭閮芥湁鍏跺搴旂殑涓涓櫄鎷熼敭鐮併?br>
2銆侀敭鐩樻秷鎭?br> Windows緋葷粺鏄竴涓秷鎭┍鍔ㄧ殑鐜錛屼竴鏃︿嬌鐢ㄨ呭湪閿洏涓婅繘鍏ヨ緭鍏ユ搷浣滐紝閭d箞緋葷粺渚夸細(xì)鎺ュ彈鍒板搴旂殑閿洏娑堟伅銆備笅闈㈡槸鏈甯歌鐨?涓敭鐩樻秷鎭細(xì)
WM_KEYDOWN錛氭寜涓嬫寜閿秷鎭?br> WM_KEYUP錛氭澗寮鎸夐敭娑堟伅
WM_CHAR錛氬瓧絎︽秷鎭?br> 褰撴煇涓鎸夐敭琚寜涓嬫椂錛屼即闅忕潃榪欎釜鎿嶄綔鎵浜х敓鐨勬槸浠ヨ櫄鎷熼敭鐮佺被鍨嬩紶閫佺殑WM_KEYDOWN涓嶹M_KEYUP娑堟伅銆傚綋紼嬪簭鎺ュ彈鍒拌繖浜涙秷鎭椂錛屼究鍙敱铏氭嫙閿爜鐨勪俊鎭潵寰楃煡鏄摢涓寜閿鎸変笅銆?br> 姝ゅ錛學(xué)M_CHAR鍒欐槸褰撴寜涓嬬殑鎸夐敭涓哄畾涔夊煙ASCII涓殑鎵撳嵃瀛楃鏃訛紝渚垮彂鍑烘瀛楃娑堟伅銆傚墠闈粙緇嶇殑娑堟伅寰幆涓殑Translate()鍑芥暟鐨勪綔鐢ㄤ究鏄綋鎸変笅鐨勬寜閿負(fù)鎵撳嵃瀛楃鏃訛紝渚垮皢铏氭嫙閿爜娑堟伅榪涜杞崲騫朵笖鍙戝嚭瀛楃娑堟伅
]]>
瑙傚療涓婇潰鐨勫浘錛屽厛瑕佸喅瀹氭瀯鎴愯繖騫呯敾闈㈢殑璐村浘欏哄簭銆備粠榪滆繎灞傛鏉ョ湅錛屽ぉ絀烘槸鏈榪滅殑錛屾帴鐫鏄崏鍦板拰灞卞腸錛屽洜涓哄北宄﹀彔鍦ㄨ崏鍦頒笂錛屾帴涓嬫潵鏄埧灞嬶紝鏈鍚庢墠鏄墠鏅殑鎭愰緳錛屾墍浠ヨ繘琛岀敾闈㈣創(chuàng)鍥炬椂欏哄簭搴旇鏄細(xì)澶╃┖鈥?gt;鑽夊湴鈥?gt;灞卞腸鈥?gt;鎴垮眿鈥?gt;鎭愰緳
鍙﹀錛岃繘琛屽北宄︺佹埧灞嬪強(qiáng)鎭愰緳鐨勮創(chuàng)鍥炬搷浣滄椂錛岃繕闇瑕佽繘琛岄忔槑鐨勬搷浣滐紝鎵嶈兘浣垮緱榪欎簺鐗╀綋鑳藉彔鍦ㄥ畠浠墠涓灞傜殑鑳屾櫙涓娿?br> 鍐沖畾浜嗚創(chuàng)鍥炬椂鐨勯『搴忎箣鍚庯紝鎺ョ潃瑕佹潵鍐沖畾鍖椾含婊氬姩鏃剁殑閫熷害銆傜敱浜庢渶榪滅殑鑳屾櫙鏄ぉ絀猴紝鎵浠ュ綋鍓嶆櫙鐨勬亹榫欒窇鍔ㄦ椂錛屾粴鍔ㄩ熷害搴旇鏄渶鎱㈢殑錛岃屽ぉ絀哄墠鐨勫北宄︽粴鍔ㄩ熷害搴旇姣斿ぉ絀鴻蹇竴鐐癸紝鑷充簬鎴垮眿涓庤崏鍦幫紝鍥犱負(fù)榪炲湪涓璧鳳紝鎵浠ユ粴鍔ㄩ熷害鐩稿悓錛岃屼笖鍙堜細(xì)姣斿北宄﹁繕瑕佸揩涓鐐癸紝榪欐牱鎴戜滑灝卞喅瀹氬嚭浜嗘墍鏈夎儗鏅殑婊氬姩閫熷害涓猴細(xì)澶╃┖<灞卞腸<鑽夊湴=鎴垮眿
鍓嶆櫙鐨勬亹榫欏彧璁╁畠鍦ㄥ師鍦拌窇鍔紝鐢變簬鑳屾櫙鑷姩鍚戝彸婊氬姩錛屽洜姝ゅ氨浼?xì)漶旂敓鎭愰緳鍚戝墠濂旇窇鐨勮瑙夋晥鏋溿?br>
鑼冧緥ch3_7錛氳繍鐢ㄨ創(chuàng)鍥炬妧宸у茍璋冩暣涓嶅悓鑳屾櫙寰幆婊氬姩鐨勯熷害錛屾樉紺哄叿鏈夎繙榪戝眰嬈℃劅鐨勫鑳屾櫙寰幆鍔ㄧ敾銆?br>涓嬭澆鍦板潃錛?a >ch3_7錛堜笂浼犲埌windows live絀洪棿錛屽彲鑳介渶瑕丮SN璐﹀彿鐧婚檰錛?br>璇存槑錛氱▼搴忔簮浠g爜涓湁鐩稿叧鐨勬敞閲娿?br>紼嬪簭榪愯緇撴灉濡備笅鍥撅細(xì)
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/a>銆?
]]>
錛堥槓榪頒負(fù)瀹屾垚錛?br>
鑼冧緥ch3_6錛氫嬌鐢ㄥ畾鏃跺櫒錛屽皢榪炵畫鐨勪換鍔″浘妗堟樉紺哄湪紿楀彛涓婏紝浜х敓鍔ㄧ敾鏁堟灉銆?br>涓嬭澆鍦板潃錛?a >ch3_6錛堜笂浼犲埌windows live絀洪棿錛屽彲鑳介渶瑕丮SN璐﹀彿鐧婚檰錛?br>璇存槑錛氱▼搴忔簮浠g爜涓湁鐩稿叧鐨勬敞閲娿?br>紼嬪簭榪愯緇撴灉濡備笅鍥撅細(xì)
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/a>銆?
]]>
鍗曚竴鑳屾櫙婊氬姩鐨勬柟娉曟槸錛氬埄鐢ㄤ竴寮犵浉褰撳ぇ鐨勮儗鏅浘錛屽綋娓告垙榪涜鐨勬椂鍊欙紝闅忕潃鐢婚潰涓漢鐗╃殑縐誨姩錛岃儗鏅殑鏄劇ず鍖哄煙涔熻窡鐫縐誨姩銆傝鍒朵綔榪欐牱鐨勮儗鏅粴鍔ㄦ晥鏋滃疄闄呬笂寰堢畝鍗曪紝鍙鍦ㄦ瘡嬈¤儗鏅敾闈㈡洿鏂版椂鏀瑰彉瑕佹樉紺哄埌紿楀彛涓婄殑鍖哄煙灝卞彲浠ヤ簡銆?br>
渚嬪鍦ㄤ笂闈㈢殑榪欏紶鑳屾櫙鍥鵑噷錛岀敱宸︿笂鍒板彸涓嬬敾浜?涓柟妗嗭紝浠h〃瑕佹樉紺哄湪紿楀彛涓婄殑鑳屾櫙鍖哄煙錛岀▼搴忓彧瑕佹寜鐓у乏涓婂埌鍙充笅鐨勯『搴忓湪紿楀彛涓婅繛緇樉紺鴻繖3涓柟妗嗗尯鍩燂紝灝變細(xì)浜х敓鑳屾櫙鐢卞乏涓婂線鍙充笅婊氬姩鐨勬晥鏋溿?br>
鑼冧緥ch3_5錛氫互閿洏銆?#8593;銆戙併?#8595;銆戙併?#8592;銆戙併?#8594;銆戦敭鎺у埗鑳屾櫙婊氬姩鏄劇ず銆?br>涓嬭澆鍦板潃錛?a >ch3_5錛堜笂浼犲埌windows live絀洪棿錛屽彲鑳介渶瑕丮SN璐﹀彿鐧婚檰錛?br>璇存槑錛氱▼搴忔簮浠g爜涓湁鐩稿叧鐨勬敞閲娿?br>紼嬪簭榪愯緇撴灉濡備笅鍥撅細(xì)
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/a>銆?
]]>
1銆佽創(chuàng)鍥懼潗鏍囦慨姝?br>
2銆佹帓搴忚創(chuàng)鍥?br>
鑼冧緥ch3_4錛氫駭鐢熷鍙亹榫欓殢鏈鴻窇鍔紝姣忔榪涜鐢婚潰璐村浘鍓嶅厛瀹屾垚鎺掑簭鎿嶄綔錛屽茍瀵規(guī)亹榫欒窇鍔ㄨ繘琛岃創(chuàng)鍥懼潗鏍囦慨姝o紝鍛堢幇杈冧負(fù)欏虹晠鐪熷疄鐨勫姩鐢匯?br>涓嬭澆鍦板潃錛?a >ch3_4錛堜笂浼犲埌windows live絀洪棿錛屽彲鑳介渶瑕丮SN璐﹀彿鐧婚檰錛?br>璇存槑錛氱▼搴忔簮浠g爜涓湁鐩稿叧鐨勬敞閲娿?br>紼嬪簭榪愯緇撴灉濡備笅鍥撅細(xì)
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/a>銆?
]]>
鑼冧緥ch3_3錛氭樉紺鴻繛緇姩鎬佸墠鏅浘妗堬紝騫跺湪鏄劇ず涔嬪墠榪涜閫忔槑錛屼粠鑰屼駭鐢熼忔槑鏁堟灉銆?br>涓嬭澆鍦板潃錛?a >ch3_3錛堜笂浼犲埌windows live絀洪棿錛屽彲鑳介渶瑕丮SN璐﹀彿鐧婚檰錛?br>璇存槑錛氱▼搴忔簮浠g爜涓湁鐩稿叧鐨勬敞閲娿?br>紼嬪簭榪愯緇撴灉濡備笅鍥撅細(xì)
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/a>銆?
]]>
瀹氭椂鍣ㄧ殑浣跨敤鍥虹劧寰堢畝鍗曟柟渚匡紝浣嗘槸浜嬪疄涓婅繖鏍風(fēng)殑鏂規(guī)硶浠呴傚悎鐢ㄥ湪鏄劇ず綆鏄撳姩鐢誨強(qiáng)灝忓瀷鐨勬父鎴忕▼搴忎腑銆傚洜鑰屼竴鑸岃█錛屾父鎴忔湰韜渶瑕佹樉紺洪『鐣呯殑娓告垙鐢婚潰錛屼嬌鐜╁鎰熻涓嶅埌寤惰繜鐨勭姸鍐碉紝鍩烘湰涓婃父鎴忕敾闈㈠繀欏誨湪涓縐掗挓涔嬪唴鏇存柊鑷沖皯25嬈′互涓婏紝榪欎竴縐掗挓鍐呯▼搴忚繕蹇呴』榪涜娑堟伅鐨勫鐞嗗拰澶ч噺鏁板榪愮畻鐢氳嚦闊蟲晥鐨勮緭鍑虹瓑鎿嶄綔銆傝屼嬌鐢ㄥ畾鏃跺櫒鐨勬秷鎭潵椹卞姩榪欎簺鎿嶄綔錛屽線寰杈句笉鍒版墍瑕佹眰鐨勬爣鍑嗭紝涓嶇劧灝變細(xì)浜х敓鐢婚潰鏄劇ず涓嶉『鐣呭拰娓告垙鍝嶅簲鏃墮棿澶暱鐨勬儏鍐點(diǎn)?br>
榪欓噷鎻愬嚭涓縐?#8220;娓告垙寰幆”姒傚康銆傛父鎴忓驚鐜槸灝嗗師鍏堢▼搴忎腑鐨勬秷鎭驚鐜姞浠ヤ慨鏀癸紝鏂規(guī)硶鏃跺垽鏂叾涓殑鍐呭鏄惁鏈夎澶勭悊鐨勬秷鎭紝濡傛灉鏈夊垯榪涜澶勭悊錛屽惁鍒欐寜鐓ц瀹氱殑鏃墮棿闂撮殧鏉ラ噸緇樼敾闈€備笅闈㈡墍浣跨敤鐨勬父鎴忓驚鐜殑紼嬪簭浠g爜錛?/p>
// 娓告垙寰幆
// 褰撴敹鍒扮殑msg.message涓嶆槸紿楀彛緇撴潫娑堟伅WM_QUIT錛屽垯緇х畫榪愯寰幆銆?br>
// 鍏朵腑msg鏄竴涓狹SG鐨勬秷鎭粨鏋勶紝鍏剁粨鏋勬垚鍛榤essage鍒欐槸涓涓秷鎭被鍨嬬殑浠e彿
while( msg.message!=WM_QUIT )
{
// 浣跨敤PeekMessage()鍑芥暟鏉ユ嫻嬬洰鍓嶆槸鍚︽湁瑕佸鐞嗙殑娑堟伅
// 鑻ユ嫻嬪埌娑堟伅錛堝寘鍚玏M_QUIT娑堟伅錛夊垯浼?xì)杩斿洖涓涓潪“0”鐨勫鹼紝鍚﹀垯榪斿洖“0”銆?br>
// 鍥犳鍦ㄦ父鎴忓驚鐜腑錛岃嫢媯(gè)嫻嬪埌娑堟伅渚胯繘琛屾秷鎭殑澶勭悊錛屽惁鍒欒繍琛宔lse鍙欒堪涔嬪悗鐨勭▼搴忎唬鐮?br>
// 娉ㄦ剰錛歅eekMessage()鍑芥暟涓嶈兘鐢ㄥ師鍏堟秷鎭驚鐜殑鏉′歡GetMessage()鍙栦唬
// 鍥犱負(fù)GetMessage()鍑芥暟鍙湁鍦ㄥ彇寰梂M_QUIT娑堟伅鏃舵墠浼?xì)杩斿?#8220;0”錛屽叾浠栨椂鍊欏垯鏄繑鍥為潪“0”鎴?#8220;-1”錛堝彂鐢熼敊璇椂錛?/span>
if( PeekMessage( &msg, NULL, 0,0 ,PM_REMOVE) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
{
// GetTickCount()鍑芥暟浼?xì)鍙栧緱绯痪l熷紑濮嬭繍琛屽埌鐩墠鎵緇忚繃鐨勬椂闂達(dá)紝鍗曚綅鏄櫨涓囧垎涔嬩竴縐?br>
// DWORD GetTickCount(); //鍙栧緱緋葷粺寮濮嬪埌鐩墠緇忚繃鐨勬椂闂?br>
// 鍦ㄨ繖閲屽彇寰楁椂闂寸殑鐩殑涓昏鏄彲浠ユ惌閰嶆帴涓嬫潵鐨勫垽鏂紡錛岀敤鏉ヨ皟鏁存父鎴忚繍琛岀殑閫熷害錛?br>
// 浣垮緱娓告垙涓嶄細(xì)鍥犱負(fù)榪愯璁$畻鏈洪熷害鐨勪笉鍚岃岃窇鐨勫お蹇垨澶參
tNow = GetTickCount();
// “tPre”璁板綍鍓嶆緇樺浘鐨勬椂闂達(dá)紝鑰?#8220;tNow-tPre”鍒欐槸璁$畻涓婃緇樺浘鍒拌繖嬈″驚鐜繍琛屼箣闂?br>
// 鐩稿樊澶氬皯鏃墮棿銆傝繖閲岃緗負(fù)鑻ョ浉宸?00涓崟浣嶆椂闂翠互涓婂垯鍐嶆榪涜緇樺浘鐨勬搷浣滐紝閫氳繃榪欎釜
// 鏁板肩殑鎺у埗鍙互璋冩暣娓告垙榪愯鐨勫揩鎱?/span>
if(tNow-tPre >= 100)
MyPaint(hdc);
}
}
鐢變簬寰幆鐨勮繍琛岄熷害榪滄瘮瀹氭椂鍣ㄥ彂鍑烘椂闂翠俊鍙鋒潵寰楀揩錛屽洜姝や嬌鐢ㄦ父鎴忓驚鐜殑鍙互鏇寸簿鍑嗗湴鎺у埗紼嬪簭榪愯閫熷害騫舵彁楂樻瘡縐掗挓鐢婚潰閲嶇粯鐨勬鏁般?br>
鑼冧緥ch3_2錛氫嬌鐢ㄦ父鎴忓驚鐜駭鐢熷姩鐢繪晥鏋滐紝騫跺湪紿楀彛宸︿笂瑙掓樉紺烘瘡縐掔敾闈㈡洿鏂版鏁般?br>涓嬭澆鍦板潃錛?a >ch3_2錛堜笂浼犲埌windows live絀洪棿錛屽彲鑳介渶瑕丮SN璐﹀彿鐧婚檰錛?br>璇存槑錛氱▼搴忔簮浠g爜涓湁鐩稿叧鐨勬敞閲娿?br>紼嬪簭榪愯緇撴灉濡備笅鍥撅細(xì)
鍦ㄨ繖涓寖渚嬩腑璁懼畾鐢婚潰鏇存柊鐨勬椂闂撮棿闅旀槸0.1縐掞紝鎵浠ユ瘡縐掗挓鏈澶氫細(xì)鏇存柊10嬈$敾闈紝涓嶈繃濡傛灉鍦ㄨ寖渚嬭繍琛岀殑鍚屾椂錛岃繍琛屽叾浠栫▼搴忥紝閭d箞CPU蹇呴』椹笂鍘誨鐞嗘墍寮鍚殑鍏朵粬紼嬪簭錛屽洜姝ゅ彲鑳戒細(xì)浣垮緱姣忕鐢婚潰鐨勬洿鏂版鏁頒笅闄嶃傝繖鏍風(fēng)殑鎯呭艦鍦ㄦ瘡縐掔敾闈㈡洿鏂版鏁拌秺楂樼殑鏃跺欎細(xì)瓚婃樉钁椼?br>
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/a>銆?
]]>
瀹氭椂鍣紙Timer錛夊璞″彲浠ユ瘡闅斾竴孌墊椂闂村彂鍑轟竴涓椂闂存秷鎭紝紼嬪簭涓鏃︽帴鏀跺埌姝ゆ秷鎭箣鍚庯紝渚垮彲浠ュ喅瀹氭帴涓嬫潵瑕佸仛鍝簺浜嬫儏銆傝繖鏍風(fēng)殑涓涓壒鎬у垰濂藉彲浠ラ傚悎鎾斁闈欐佺殑榪炵畫鍥劇墖錛屼駭鐢熷姩鐢葷殑鏁堟灉銆備笅闈㈡潵浠嬬粛濡備綍寤虹珛涓庝嬌鐢ㄥ畾鏃跺櫒銆?br>
1銆佸緩绔嬪畾鏃跺櫒
Windows API鐨凷etTimer()鍑芥暟鍙負(fù)紿楀彛寤虹珛涓涓畾鏃跺櫒錛屽茍涓旀瘡闅斾竴孌墊椂闂村氨鍙戝嚭WM_TIMER娑堟伅錛屾鍑芥暟鐨勪嬌鐢ㄨ娉曞涓嬶細(xì)
UINT SetTime( HWND 鎺ユ敹瀹氭椂鍣ㄦ秷鎭殑紿楀彛,
UINT 瀹氭椂鍣ㄤ唬鍙?
UINT 鏃墮棿闂撮殧,
TIMERPROC 澶勭悊鍝嶅簲鍑芥暟,);
SetTimer(1,500.NULL);
2銆佸垹闄ゅ畾鏃跺櫒
瀹氭椂鍣ㄥ緩绔嬪悗錛屽氨浼?xì)涓鐩磋嚜鍔ㄥ湴鎸夌収璁懼畾鐨勬椂闂撮棿闅斿彂鍑篧M_TIMER娑堟伅錛屽鏋滆鍋滅敤鏌愪釜瀹氭椂鍣紝蹇呴』浣跨敤涓嬮潰鐨勮繖涓嚱鏁般?br>
BOOL KillTimer(int 瀹氭椂鍣ㄤ唬鍙?;
鑼冧緥ch3_1錛氫嬌鐢ㄥ畾鏃跺櫒錛屽皢榪炵畫鐨勪換鍔″浘妗堟樉紺哄湪紿楀彛涓婏紝浜х敓鍔ㄧ敾鏁堟灉銆?br>涓嬭澆鍦板潃錛?a >ch3_1錛堜笂浼犲埌windows live絀洪棿錛屽彲鑳介渶瑕丮SN璐﹀彿鐧婚檰錛?br>璇存槑錛氱▼搴忔簮浠g爜涓湁鐩稿叧鐨勬敞閲娿?br>紼嬪簭榪愯緇撴灉濡備笅鍥撅細(xì)
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/a>銆?
]]>
鑼冧緥ch2_11錛氬湪鏂滆鍦板浘涓姞鍏ユ櫙鐗╋紝灞曠幇娓告垙鍦板浘鏁堟灉銆?br>涓嬭澆鍦板潃錛?a >ch2_11錛堜笂浼犲埌windows live絀洪棿錛屽彲鑳介渶瑕丮SN璐﹀彿鐧婚檰錛?br>璇存槑錛氱▼搴忔簮浠g爜涓湁鐩稿叧鐨勬敞閲娿?br>紼嬪簭榪愯緇撴灉濡備笅鍥撅細(xì)
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/a>銆?
]]>
涓婂浘涓殑宸﹁竟鏄洓鏂瑰艦鍥懼潡鐨勬嫾鎺ワ紝鑰屽彸杈圭殑鍒欐槸鑿卞艦鍥懼潡鐨勬嫾鎺ャ傚洓鏂瑰艦鍥懼潡鎷兼帴鏂規(guī)硶鏃訛細(xì)鍥懼潡緙栧彿鎹㈢畻鎴愯緙栧彿涓庡垪緙栧彿鍐嶆崲綆楁垚璐村浘鍧愭爣銆傚浜庢枩瑙掑湴鍥炬嫾鎺ユ潵璇達(dá)紝榪欎簺姝ラ閮芥槸涓鏍風(fēng)殑錛屼絾鏄湪鎹㈢畻璐村浘鍧愭爣鏃訛紝鐢變簬鍙鏄劇ず鍥懼潡涓殑鑿卞艦閮ㄥ垎錛屽洜姝ゅ湪璐村浘鎺掑垪鐨勬柟寮忎笂浼?xì)鏈変笉鍚屽Q屽洜鑰岃創(chuàng)鍥懼潗鏍囩殑璁$畻鍏紡涔熷氨涓嶄竴鏍蜂簡銆?br> 姝ゅ錛屽湪鍚堝茍涓や釜鍥懼潡鐨勮彵褰㈤儴鍒嗘椂錛?span style="COLOR: red">榪橀渶瑕佸姞涓婁竴姝ラ忔槑鐨勬楠?/span>錛屼笉鐒惰嫢鐩存帴鎸夌収姹傚緱鐨勮創(chuàng)鍥懼潗鏍囨潵榪涜璐村浘錛屽叾鏁堟灉灝變細(xì)濡備笅鍥炬墍紺猴細(xì)
鎺ヤ笅鏉ョ湅鐪嬫枩瑙掑湴鍥炬嫾鎺ユ椂錛屽悇涓浘鍧楃紪鍙蜂笌瀹為檯鎺掑垪鐨勬儏褰紝濡備笅鍥炬墍紺猴細(xì)
涓婂浘鍚屾牱鏄竴寮?×3涓皬鍥懼潡鎵鎷兼帴鑰屾垚鐨勫湴鍥撅紝鍏朵腑鐨勬暟瀛楀紡鍥懼潡緙栧彿銆傚浜庢瘡涓鍥懼潡棣栧厛蹇呴』綆楀嚭瀹冪殑琛岀紪鍙蜂笌鍒楃紪鍙鳳紝鐒跺悗鎵嶈兘璁$畻瀹冨疄闄呯殑璐村浘鍧愭爣錛岃綆楄鍒楃紪鍙風(fēng)殑鏂規(guī)硶涓庨殢絎?#8220;娓告垙鍦板浘鍒朵綔鈥斺斿鉤闈㈠湴鍥捐創(chuàng)鍥?/a>”鎵浣跨敤鐨勫叕寮忎竴鏍鳳紝鍗籌細(xì)
閭d箞鍥懼潡宸︿笂鐐硅創(chuàng)鍥懼潗鏍囩殑璁$畻鍏紡濡備笅錛?
宸︿笂鐐筜鍧愭爣 = ystart + 鍒楃紪鍙?×錛坔/2 錛? 琛岀紪鍙?#215;錛坔/2錛夛紱
鍏紡涓殑xstart涓巠start鏄唬琛ㄧ涓寮犲浘鍧楀乏涓婅璐村浘鍧愭爣鐨勪綅緗紝浠ヤ笅鍥炬潵璇存槑榪欎釜鍏紡錛?br>
鍥句腑浠ョ孩綰挎鏉ヨ〃紺哄浘鍧楃湡姝g殑鐭╁艦鑼冨洿錛屽湪榪涜璐村浘鏃訛紝棣栧厛瑕佸畾涔夌1寮犲浘鍧楃殑璐村浘浣嶇疆錛屽叾浠栧浘鍧楃殑璐村浘鍧愭爣鍐嶇敱姝ゅ浘鍧楀悜涓嬪歡浼搞傜幇鍦ㄥ亣璁劇粰瀹氬浘鍧?鐨勮創(chuàng)鍥懼潗鏍囨槸錛坸start錛寉start錛夛紝閭d箞鎺ヤ笅鏉ヨ冭檻鍥懼潡1鐨勭煩褰㈣寖鍥達(dá)紝瀹冨乏涓婅璐村浘鐨勫潗鏍囧垯鏄紙xstart+w/2,ystart+h/2錛夛紝鑰冭檻鍥懼潡2鐨勭煩褰㈣寖鍥達(dá)紝瀹冨乏涓婅璐村浘鐨勫潗鏍囧張鍙樻垚錛坸start+w/2×2,ystart+h/2×2錛夈備緷嬈$被鎺紝鍐嶅姞鍏ヨ緙栧彿涓庡垪緙栧彿錛屽彲浠ュ緱鍒頒笅闈㈢殑榪欎釜姹傚浘鍧楄創(chuàng)鍥懼潗鏍囩殑鍏紡錛?
宸︿笂鐐筜鍧愭爣 = ystart + 鍒楃紪鍙?×錛坔/2 錛夛紱
浣嗘槸瑕佹敞鎰忎竴鐐癸紝榪欐槸褰撳浘鍧楅兘鍦ㄥ睘浜庡悓涓鍒楃殑鎯呭喌銆傝冭檻涓嬩竴鍒楃殑鍥懼潡4錛屽浘鍧?鐨勫乏涓婅璐村浘鍧愭爣鏄紙xstart-w/2,ystart+h/2錛夛紝鑰屽浘鍧?鐨勫乏涓婅璐村浘鍧愭爣鏄紙xstart-w/2+w/2,ystart+h/2+h/2錛夛紝鍥懼潡6鐨勫乏涓婅璐村浘鍧愭爣涓猴紙xstart-w/2+w/2×2,ystart+h/2+h/2×2錛夛紝渚濇綾繪帹錛屽彲鐪嬪嚭鍚屼竴鍒椾笂鍧愭爣鍙樺寲瑙勫緥閮芥槸涓鏍風(fēng)殑錛岃創(chuàng)鍥懼潗鏍囬兘鏄線鍙充笅鏂歸掑鍗婁釜鍥懼潡鐨勯暱浜庨珮鍗曚綅銆?br> 濡傛灉鏄湪鍚屼竴琛岋紙鍥懼潡0銆?銆?錛変笂鐨勫潗鏍囧彉鍖栧垯鏄線宸︿笅鏂歸掑噺鍗婁釜鍥懼潡鐨勯暱錛圶杞存柟鍚戯級浠ュ強(qiáng)閫掑鍗婁釜鍥懼潡鐨勯珮錛圷杞存柟鍚戯級錛屽洜姝ゅ埄鐢ㄥ浘鍧楃殑琛岀紪鍙蜂笌鍒楃紪鍙蜂究寰楀嚭浜嗗墠闈㈢殑璐村浘鍧愭爣鍏紡銆?br> 璁$畻鍑烘瘡涓浘鍧楃殑鍧愭爣騫跺畬鎴愪簡鏂滆鍦板浘鐨勬嫾鎺ュ悗錛屾鏃惰灝嗘暣鍧楀湴鍥捐創(chuàng)鍒扮獥鍙d腑錛岃繕闇瑕佺煡閬撳湴鍥劇殑瀹藉害涓庨珮搴︼紝璁$畻鐨勬柟娉曞彲浠ラ氳繃涓嬪浘榪涜璇存槑錛?br>
鐢變笂闈㈠彲浠ュ緢瀹規(guī)槗鐨勬帹瀵煎嚭鏁村紶鍦板浘鐨勫涓庨珮璁$畻鍏紡濡備笅錛?
鍦板浘楂?nbsp;= 錛堝垪鏁?琛屾暟錛?#215;錛坔/2 錛夛紱
鍦ㄤ簡瑙d簡鍏充簬鏂滆鍦板浘鎷兼帴鐨勬柟娉曚箣鍚庯紝鎺ヤ笅鏉ョ殑榪欎釜鑼冧緥灝嗕笂涓灝忚妭閲岀殑騫抽潰鎷兼帴鍦板浘杞崲鎴愪互45搴﹁淇鐨勬枩瑙掑湴鍥俱?br>
鑼冧緥ch2_10錛氫粠鏂囦歡涓姞杞戒綅鍥撅紝騫舵樉紺哄湪紿楀彛涓娿?br>涓嬭澆鍦板潃錛?a >ch2_10錛堜笂浼犲埌windows live絀洪棿錛屽彲鑳介渶瑕丮SN璐﹀彿鐧婚檰錛?br>璇存槑錛氱▼搴忔簮浠g爜涓湁鐩稿叧鐨勬敞閲娿?br>紼嬪簭榪愯緇撴灉濡備笅鍥撅細(xì)
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/a>銆?
]]>
灝嗚繖涓竴緇存暟緇勪互琛屽垪鐨勬柟寮忔帓鍒楋紝鍙互鐪嬪嚭姣忎釜鏁扮粍鍏冪礌瀵瑰簲鍥句腑鐨勫摢涓浘鍧椼?br> 闇瑕佹彁閱掔殑鏄紝鐢變簬浣跨敤鐨勬槸涓浣嶆暟緇勬潵瀹氫箟鍦板浘鍐呭錛屽洜姝や笂闈㈣繖涓暟緇勭殑姣忎釜鍏冪礌鐨勭儲(chǔ)寮曞兼槸0……11.浣嗘槸錛岀敱浜庣▼搴忛噷涓嶈璁$畻鍥懼潡璐村浘鐨勪綅緗繕鏄綆楁暣寮犲湴鍥劇殑闀垮灝哄錛岄兘鏄互琛屽垪鏉ヨ繘琛屾崲綆楃殑錛屾墍浠ラ渶瑕佸皢鏁扮粍鐨勭儲(chǔ)寮曞艱漿鎹㈡垚鐩稿簲鐨勫垪緙栧彿涓庤緙栧彿錛岃漿鎹㈠叕寮忓涓嬶細(xì)
鍒楃紪鍙?= 绱㈠紩鍊?/ 姣忎竴鍒楃殑鍥懼潡涓暟錛堣鏁幫級錛?br>琛岀紪鍙?= 绱㈠紩鍊?% 姣忎竴鍒楃殑鍥懼潡涓暟錛堣鏁幫級錛?/span>
涓嬪浘楠岃瘉涓婇潰鐨勫叕寮忥紝鏂規(guī)牸涓殑緙栧彿鏄竴緇存暟緇勭殑鍏冪礌绱㈠紩鍊箋?br>
宸︿笂鐐筙鍧愭爣 = 琛岀紪鍙?× 鍥懼潡鐨勫搴︼紱
宸︿笂鐐筜鍧愭爣 = 鍒楃紪鍙?× 鍥懼潡鐨勯珮搴︼紱
鑼冧緥ch2_9錛氳繍鐢ㄤ笉鍚屽皬鍥懼潡錛岀ず鑼冨鉤闈㈠湴鍥炬嫾鎺ョ殑鎶宸с?br>涓嬭澆鍦板潃錛?a >ch2_9錛堜笂浼犲埌windows live絀洪棿錛屽彲鑳介渶瑕丮SN璐﹀彿鐧婚檰錛?br>璇存槑錛氱▼搴忔簮浠g爜涓湁鐩稿叧鐨勬敞閲娿?br>紼嬪簭榪愯緇撴灉濡備笅鍥撅細(xì)
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/a>銆?/p>
]]>
鑼冧緥ch2_8錛氳繖涓寖渚嬭鏄庝粙緇嶅浣曚駭鐢熼忔槑鍗婇忔槑鐨勬晥鏋溿?br>涓嬭澆鍦板潃錛?a >ch2_8
鎺ヤ笅鏉ヨ鏄庝笂榪頒袱涓楠ゆ墍浜х敓鐨勫浘鐐硅壊褰╃殑鍙樺寲銆?br>
姝ラ涓錛氬姞杞戒綅鍥?/span>
瑕佷粠鏂囦歡鍔犺澆浣嶅浘錛屽父浣跨敤LoadImage()鍑芥暟
鍙傛暟 |
璇存槑 |
HINSTANCE |
鍖呭惈浣嶅浘鎵鍦ㄧ殑瀹炰綋錛岃嫢瑕佸姞杞界殑浣嶅浘瀛樺湪浜庣‖鐩樻垨鑰呰祫婧愭枃浠朵腑錛屽垯灝嗘欏瑰弬鏁拌涓?span>”NULL” |
LPCTSTR |
瑕佸姞杞戒綅鍥炬墍鍦ㄧ殑璺緞涓庢枃浠跺悕鎴栬呰祫婧愬悕縐?/span> |
UINT |
鍔犺澆浣嶅浘鐨勭被鍨嬶紝鏈変笅鍒?span>3縐嶏細(xì) 鈼咺MAGE_BITMAP錛氬姞杞界殑浣嶅浘涓轟竴鑸浘鏂囦歡錛屾墿灞曞悕涓?span>“.bmp” 鈼咺MAGE_CURSOR錛氬姞杞界殑浣嶅浘涓哄厜鏍囧浘鏍囷紝鎵╁睍鍚嶄負(fù)“.cur” 鈼咺MAGE_ICON錛氬姞杞界殑浣嶅浘涓哄浘鏍囷紝鎵╁睍鍚嶄負(fù)“.ico” |
int |
浣嶅浘鍔犺澆鐨勫搴︼紝鍗曚綅涓哄儚绱?/span> |
int |
浣嶅浘鍔犺澆鐨勯珮搴︼紝鍗曚綅涓哄儚绱?/span> |
UINT |
璁懼畾浣嶅浘鐨勫姞杞芥柟寮忥紝鑻ユ槸浠庢枃浠朵腑鍔犺澆浣嶅浘錛屽垯璁句負(fù)“LR_LOADFROMFILE |
姝ラ浜岋細(xì)寤虹珛涓庣獥鍙?/span>DC鍏煎鐨勫唴瀛?/span>DC
鍐呭瓨DC騫朵笉鏄湡姝g殑璁懼鐨?/span>DC錛屽湪榪欓噷鎶婂畠鎻ず涓轟竴涓紦鍐插尯鎴栬浼?xì)鏇存伆褰撲簺銆傚唴瀛?/span>DC鐢ㄦ潵鏆傚瓨鍔犺澆鐨勪綅鍥撅紝鐢變簬鏈緇堜細(xì)鎶婂瓨鍌ㄥ湪榪欎釜鍐呭瓨DC涓婄殑浣嶅浘璐村埌鐪熸鐨勭獥鍙g殑DC涓婏紝鍥犳榪欎釜鍐呭瓨DC蹇呴』璺熺獥鍙?/span>DC鐨勬ц川鍏煎銆傚彲璋冪敤CreateCompatibleDC()鍑芥暟鏉ュ緩绔嬪唴瀛?/span>DC銆?/span>
浣嶅浘瀵硅薄鏄?/span>GDI鐨?/span>6縐嶅璞′箣涓錛屽唴瀛?/span>DC閫夌敤浣嶅浘瀵硅薄鐨勬柟娉曞拰鍓嶉潰浠嬬粛鐨勯夌敤鐢葷瑪鎴栫敾鍒風(fēng)殑鏂瑰紡鐩稿悓錛岄兘鏄氳繃璋冪敤SelectObject()鍑芥暟鏉ュ疄鐜般?/span>
姝ラ鍥涳細(xì)璐村浘
鎶婂唴瀛?/span>DC涓殑浣嶅浘澶嶅埗鍒版樉紺虹殑DC涓婏紝榪欎釜鎿嶄綔琚О涓?#8220;璐村浘”銆傚嚱鏁版槸BitBlt()錛?/span>
Raster鍊?/span> |
璇存槑 |
BLACKNESS |
灝嗘潵婧愪綅鍥捐漿鎹負(fù)榛戣壊 |
DSTINVERT |
灝嗙洰鐨勫湴DC鍋?#8220;NOT”榪愮畻 |
MERGECOPY |
灝嗛夋嫨鐨勭瑪鍒蜂笌鏉ユ簮浣嶅浘鍋?#8220;AND”榪愮畻 |
MERGEPAINT |
鍏堝皢鏉ユ簮浣嶅浘鍋?#8220;NOT”榪愮畻錛屽啀涓庣洰鐨勫湴DC鍋?#8220;OR”榪愮畻 |
NOTSRCCOPY |
灝嗘潵婧愪綅鍥懼仛“NOT”榪愮畻 |
NOTSRCERASE |
鍏堝皢鏉ユ簮浣嶅浘涓庣洰鐨勫湴DC鍋?#8220;OR”榪愮畻錛屽啀灝嗗叾鍋?#8220;NOT”榪愮畻 |
PATCOPY |
灝嗛夋嫨鐨勭瑪鍒瘋創(chuàng)鍒扮洰鐨勫湴DC涓?/span> |
PATINVERT |
灝嗙洰鐨勫湴DC涓庨夋嫨鐨勭瑪鍒峰仛“XOR”榪愮畻 |
PATPAINT |
鍏堝皢鏉ユ簮浣嶅浘鍋?#8220;NOT”榪愮畻錛屽啀涓庣瑪鍒峰仛“OR”榪愮畻錛屾渶鍚庡啀涓庣洰鐨勫湴DC鍋?#8220;OR”榪愮畻 |
SRCAND |
灝嗘潵婧愪綅鍥句笌鐩殑鍦?/span>DC鍋?#8220;AND”榪愮畻 |
SRCCOPY |
灝嗘潵婧愪綅鍥捐創(chuàng)鍒扮洰鐨勫湴DC涓?/span> |
SRCERASE |
鍏堝皢鐩殑鍦?/span>DC鍋?#8220;NOT”榪愮畻錛屽啀涓庢潵婧愪綅鍥懼仛“AND”榪愮畻 |
SRCINVERT |
灝嗘潵婧愪綅鍥句笌鐩殑鍦?/span>DC鍋?#8220;XOR”榪愮畻 |
SRCPAINT |
灝嗘潵婧愪綅鍥句笌鐩殑鍦?/span>DC鍋?#8220;OR”榪愮畻 |
WHITENESS |
灝嗘潵婧愪綅鍥捐漿鎹負(fù)鐧借壊 |
鑼冧緥ch2_5錛氫粠鏂囦歡涓姞杞戒綅鍥撅紝騫舵樉紺哄湪紿楀彛涓娿?br>涓嬭澆鍦板潃錛?a >ch2_5
鍑芥暟鍚嶇О |
璇存槑 |
Polygon |
緇樺埗灝侀棴澶氳竟褰?/span> |
PolyLine |
緇樺埗澶氳竟綰挎潯 |
PolylineTo |
浠ュ綋鍓嶇敾絎旀墍鍦ㄤ綅緗粯鍒跺杈圭嚎鏉?/span> |
PolyPolygon |
緇樺埗澶氫釜灝侀棴澶氳竟褰?/span> |
PolyPolyline |
緇樺埗澶氫釜澶氳竟綰挎潯 |
瑕佽嚜瀹氫箟鐢葷瑪鎴栫敾鍒鳳紝鍙互浣跨敤涓嬪垪3涓?/span>API鍑芥暟銆?/span>
寤虹珛鏂扮敾絎斾笌鐢誨埛涔嬪悗錛屽繀欏誨湪鎵瑕佽繘琛岀粯鍥劇殑DC涓夌敤瀹冧滑錛屾墠浼?xì)漶旂敓棰勬湡鐨勭斎潿斿強(qiáng)鐢诲堜h晥鏋滐紝閫夌敤鐨勫嚱鏁板涓嬶細(xì)
GDI瀵硅薄涓緇忓緩绔嬩究浼?xì)鍗犵敤閮ㄥ垎鍐呭瓨锛屼竴鏃︿笉浣跨敤鐨勬椂鍊欙紝鍔″繀灝嗗畠浠垹闄わ紝鍒犻櫎鍑芥暟濡備笅錛?/p>
BOOL DeleteObject(HGDIOBJ GDI瀵硅薄); //鍒犻櫎GDI瀵硅薄
Device Context錛堣澶囧唴瀹癸級涓鑸畝縐頒負(fù)DC錛屽氨緇樺浘鐨勮鐐規(guī)潵璇達(dá)紝DC灝辨槸紼嬪簭鍙互榪涜緇樺浘鐨勫湴鏂廣備婦渚嬫潵璇達(dá)紝濡傛灉瑕佸湪鏁翠釜灞忓箷鍖轟笂緇樺浘錛岄偅涔?span>Device(璁懼)灝辨槸灞忓箷,鑰?span>DC
灝辨槸灞忓箷鍖轟笂鐨勭粯鍥懼眰銆傜浉鍚岀殑閬撶悊錛屽鏋滆鍦ㄧ獥鍙d腑緇樺浘錛岄偅涔?span>Device灝辨槸紿楀彛錛?span>DC灝辨槸紿楀彛涓婂彲浠ョ粯鍥劇殑鍦版柟錛屼篃灝辨槸鍐呴儴紿楀彛鍖恒?/span> 姝ゅ錛屽湪澶勭悊WM_PAINT娑堟伅涔嬪鐨勫湴鏂癸紝鑻ヨ鍙栧緱紿楀彛鐨?/span>DC錛屽繀欏昏皟鐢ㄤ笅闈㈢殑榪欎釜鍑芥暟錛?/p>
HDC GetDC(HWND hWnd); //鍙栧緱DC
鍧愭爣闂銆備互灞忓箷鍖虹殑宸︿笂瑙掔殑鍧愭爣鐐逛負(fù)鍘熺偣錛屽睆騫曚笂鐨勪換浣曚竴涓綅緗兘鍙互鏌愪竴鐐瑰潗鏍囨潵琛ㄧず錛岀О涓哄睆騫曞潗鏍囥傝嫢緇樺浘鐨勫尯鍩熸槸鍐呴儴紿楀彛鍖猴紝閭d箞鍧愭爣鍘熺偣鎵鍦ㄧ殑浣嶇疆灝變笉閫氫簡錛屽彉鎴愪簡鍐呴儴紿楀彛鏈宸︿笂瑙掔殑鐐廣?/span>
瀵逛簬鍧愭爣鐨勮漿鎹紝GDI涓彁渚涗簡鐩稿叧鐨勫嚱鏁般?br>
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/a>銆?/span>
2銆?/span> C++鏄嫢鏈夌潃浼樿壇浼犵粺鐨勭▼搴忚璦錛岃?/span>VC++鍒欐槸寰蔣鍏徃寮鍙戝嚭鐨勪竴濂楅傜敤浜?/span>C/C++璇硶鐨勭▼搴忓紑鍙戝伐鍏楓傚湪VC++寮鍙戠幆澧冧腑錛岀紪鍐?/span>Windows鎿嶄綔緋葷粺騫沖彴鐨勭獥鍙g▼搴忔湁涓ょ涓嶅悓鐨勭▼搴忔灦鏋勶細(xì)涓縐嶆槸寰蔣鍦?/span>VC++涓墍鍔犲叆鐨?/span>MFC錛?/span>Microsoft Foundation Class library錛夋灦鏋勶紝MFC鏄竴涓簽澶х殑綾誨瀷鍑芥暟搴擄紝鍏朵腑鎻愪緵浜嗗畬鏁村紑鍙戠獥鍙g▼搴忔墍闇鐨勫璞$被鍨嬩笌鍑芥暟錛屽父鐢ㄤ簬璁捐涓鑸殑搴旂敤杞歡紼嬪簭錛涘彟涓縐嶆槸鏈功鎵浠嬬粛鐨?/span>Windows API鏋舵瀯錛屼嬌鐢?/span>Windows API鏉ュ紑鍙戜笂榪扮殑搴旂敤杞歡紼嬪簭騫朵笉瀹規(guī)槗錛屼絾鐢ㄥ湪璁捐娓告垙紼嬪簭涓婂嵈鐩稿綋綆鍗曚笖鍏鋒湁杈冧紭瓚婄殑榪愯鎬ц兘銆?/span>
3銆?/span> VC++鍦ㄦ父鎴忕▼搴忓紑鍙戜笂鎵鍏峰鐨勪紭鐐?/span>
3.1浼樿秺鐨勯熷害琛ㄧ幇
C++紼嬪簭緙栬瘧鍚庣殑鏂囦歡鏄彲鐩存帴榪愯鐨勬満鍣ㄧ爜錛岃屽叾浠栫▼搴忚璦錛堝VB鍜?/span>Java錛夌紪璇戝悗浜х敓鐨勬槸涓縐嶆墍璋撶殑“涓棿鐮?#8221;銆傝繍琛屼腑闂寸爜鏃訛紝緋葷粺鍐呭繀欏誨瓨鍦ㄨВ閲婅紼嬪簭璇█鐨?#8220;瑙i噴鍣紙Interpreter錛?#8221;錛岀敤鍋氬悓姝ョ炕璇戝伐浣溿傝В閲婂櫒瑙i噴涓棿鐮佹椂錛屾湰韜細(xì)鍔犺澆鍒板唴瀛樹腑鍗犵敤閮ㄥ垎鍐呭瓨錛屼笖鍚屾緲昏瘧涓棿鐮佺殑榪囩▼涔熶細(xì)嫻垂鏃墮棿錛屽洜姝わ紝榪愯榪欑被紼嬪簭鏃惰姣斿彲鐩存帴榪愯鐨勬満鍣ㄧ爜緙撴參寰堝銆?/span>
3.2寮規(guī)х鐞嗚祫婧愪笌鍐呭瓨
鍦?/span>VC++鐨勫紑鍙戠幆澧冧腑錛岀▼搴忚祫婧愬強(qiáng)鍐呭瓨綆$悊鏂歸潰閮藉叿鏈夌浉褰撶殑寮規(guī)с?/span>
鍦ㄨ祫婧愮鐞嗛儴鍒嗭紝閫氬父鏄氳繃涓涓彞鏌勬潵浣跨敤璇ラ」璧勬簮銆傝繖閲屾墍鎸囩殑璧勬簮錛屽彲鑳芥槸紿楀彛銆佽澶囥佸浘鍍忓拰澹伴煶絳夊璞°?/span>
鍦ㄥ唴瀛樼鐞嗛儴鍒嗭紝C/C++璇█鏈韓灝卞叿澶囧唴瀛樼鐞嗙殑鍔熻兘錛岄櫎浜嗗彲閫氳繃鎸囬拡榪涜鍐呭瓨鐨勫瓨鍙栧拰閰嶇疆涔嬪錛岃繕鎻愪緵浜嗗畬鏁寸殑鍐呭瓨綆$悊鐩稿叧鍑芥暟銆?/span>
鐢變簬娓告垙紼嬪簭浣跨敤浜嗗ぇ閲忕殑澶氬獟浣撴暟鎹紝榪愯鏃朵細(xì)鍗犵敤涓嶅皯鍐呭瓨錛屽洜姝わ紝鑻ョ▼搴忚璁″笀鑳藉寮規(guī)ф湁鏁堝湴鏉ョ鐞嗚祫婧愬拰鍐呭瓨錛屽皢鍙ぇ澶ч檷浣庣‖浠惰姹傚茍鎻愰珮娓告垙紼嬪簭鏈韓鐨勬ц兘銆?/span>
3.3鏄撲簬浣跨敤Windows API
Windows API鏄?/span>Windows鎿嶄綔緋葷粺鎻愪緵鐨勫姩鎬侀摼鎺ュ嚱鏁板簱錛堥氬父浠?#8220;.DLL”鐨勬枃浠舵牸寮忓瓨鍦ㄤ簬Windows緋葷粺涓級錛?/span>Windows API涓寘鍚簡Windows鐨勫唴鏍稿強(qiáng)鎵鏈夊簲鐢ㄧ▼搴忔墍闇瑕佺殑鍔熻兘銆?/span>
Windows鎿嶄綔緋葷粺鍙戝睍鑷充粖錛?/span>Windows API涓昏鍙垎涓?/span>Win16錛?/span>Windows 3.1浠ュ墠錛変互鍙?/span>Win32錛?/span>Windows 95浠ュ悗錛変袱縐嶇増鏈紝涓嶅悓鐗堟湰Windows緋葷粺闂?/span>API鐨勫唴瀹規(guī)垨澶氭垨灝戞湁浜涘樊寮備絾閮戒互鍚戜笅鍏煎涓哄師鍒欍?/span>
涓鑸湪VB紼嬪簭涓紝瑕佽皟鐢?/span>Windows API鐨勫嚱鏁幫紝蹇呴』鍏堝畬鎴愬0鏄庣殑鎿嶄綔銆備絾鍦?/span>VC++寮鍙戠幆澧冧笅錛屼笉璁洪噰鐢?/span>MFC榪樻槸Windows API鐨勭▼搴忔灦鏋勶紝鍙鍦ㄩ」鐩腑璁懼畾濂芥墍瑕侀摼鎺ョ殑鍑芥暟搴撳茍寮曠敤姝g‘鐨勫ご鏂囦歡錛岄偅涔堝湪紼嬪簭涓嬌鐢?/span>Windows API鐨勫嚱鏁板氨璺熶嬌鐢?/span>C/C++鏍囧噯鍑芥暟搴撲竴鏍峰鏄撱?/span>
錛堝姩鎬侀摼鎺ワ紙Dynamic Linking錛夋槸鎸囧湪紼嬪簭榪愯闃舵錛岀湡姝h皟鐢ㄥ閮ㄥ嚱鏁版椂鎵嶈繘琛岄摼鎺ワ紙娉細(xì)灝嗙▼搴忎唬鐮佷腑璋冪敤鍑芥暟鐨勬寚閽堟寚鍚戝閮ㄥ嚱鏁版墍鍦ㄧ殑鍦板潃錛夌殑鎿嶄綔錛?br>
4銆?/span> 鏋勫緩娓告垙璁捐鐨勮垶鍙?/span>(鍗曞嚮鍏墮摼鎺ュ彲榪涘叆鐩稿簲鐨勯殢絎?
5銆?/span> 紼嬪簭鏋舵瀯璇存槑(鍗曞嚮鍏墮摼鎺ュ彲榪涘叆鐩稿簲鐨勯殢絎?
PS錛氬鎯寵幏寰楁洿澶氬叧浜嶸isual C++娓告垙寮鍙戠殑鍐呭錛屽彲鐐瑰嚮闅忕瑪錛氥奦isual C++娓告垙緙栫▼鍩虹銆嬪涔?fàn)绗旇鈥斺旂儲(chǔ)寮曢殢絎?/font>銆?/font>
鍑芥暟鍚嶇О |
璇存槑 |
WinMain |
涓葷▼搴忥紝紼嬪簭璧峰鐐?/p> |
WndProc |
鑷畾涔夊嚱鏁幫紝澶勭悊紼嬪簭娑堟伅 |
MyRegisterClass |
鑷畾涔夊嚱鏁幫紝娉ㄥ唽紿楀彛綾誨埆 |
InitInstance |
鑷畾涔夊嚱鏁幫紝寤虹珛鍙?qiáng)鏄窘C虹獥鍙g殑鍒濆鍖栧嚱鏁?/p> |
涓嬮潰鏉ヨ璇磋繖浜涘嚱鏁扮殑鍐呭涓庡姛鑳姐?br>
1.WinMain鍑芥暟
涓葷▼搴忥紝涔熷氨鏄暣涓」鐩▼搴忓紑濮嬭繍琛岀殑鍦版柟錛屽鍚孋onsole紼嬪簭涓殑main()鍑芥暟銆?/p>
鏂囦歡鍚嶇О |
璇存槑 |
canvas.cpp |
涓葷▼搴忔枃浠訛紝鍏朵腑鍖呭惈鏁翠釜欏圭洰鐨勪富紼嬪簭WinMain |
canvas.rc |
璧勬簮鏂囦歡錛屽畾涔変簡鏁翠釜欏圭洰鎵浣跨敤鐨勮祫婧?/p> |
StdAfx.h |
鏍囧ご鏂囦歡錛屽叾涓紩鐢ㄦ暣涓」鐩墍闇鐨勫ご鏂囦歡 |