锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
銆銆WINDOWPLACEMENT m_wpPrev; //鐢ㄤ簬淇濆瓨姝e父瑙嗗浘鏃剁殑紿楀彛浣嶇疆淇℃伅
銆銆CToolBar * m_wndFullScreenBar; //鍏ㄥ睆騫曟樉紺烘椂鐨勬誕鍔ㄥ伐鍏鋒潯
銆銆鎴愬憳鍑芥暟錛?br />銆銆void OnMenuFullscreen(); //鍏ㄥ睆騫曟樉紺虹殑澶勭悊鍑芥暟
銆銆void OnGetMinMaxInfo(); //鎹曡幏WM_GETMINMAXINFO娑堟伅浠ヤ究鍏佽浣犲鍔犵獥鍙eぇ灝?br />銆銆void OnUpdateViewFullScreen(); //鏇存柊鈥滃叏灞忓箷鏄劇ず鈥濊彍鍗曠殑鐘舵?/p>
銆銆婧愮爜
銆銆void CMainFrame::OnMenuFullscreen() 銆銆{//鍏ㄥ睆騫曟樉紺虹殑澶勭悊鍑芥暟 銆銆RECT rectDesktop; 銆銆WINDOWPLACEMENT wpNew; 銆銆if (m_bFullScreen) 銆銆//淇濆瓨姝e父瑙嗗浘鏃剁殑紿楀彛浣嶇疆淇℃伅浠ヤ究鎭㈠鍘熸潵鐘舵?br />銆銆GetWindowPlacement (&m_wpPrev); 銆銆//璋冩暣RECT涓烘柊鐨勭獥鍙e昂瀵?br />銆銆::GetWindowRect ( ::GetDesktopWindow(), &rectDesktop ); 銆銆//淇濆瓨RECT浠ヤ究OnGetMinMaxInfo()浣跨敤 銆銆wpNew = m_wpPrev; 銆銆//鐢熸垚鏂扮殑宸ュ叿鏉?br />銆銆m_wndFullScreenBar=new CToolBar; 銆銆if(!m_wndFullScreenBar->Create(this, CBRS_SIZE_DYNAMIC|CBRS_FLOATING) |
STL錛圫tandard Template Library錛屾爣鍑嗘ā鏉垮簱)鏄儬鏅疄楠屽寮鍙戠殑涓緋誨垪杞歡鐨勭粺縐般傚畠鏄敱Alexander Stepanov銆丮eng Lee鍜孌avid R Musser鍦ㄦ儬鏅疄楠屽宸ヤ綔鏃舵墍寮鍙戝嚭鏉ョ殑銆傜幇鍦ㄨ櫧璇村畠涓昏鍑虹幇鍦–++涓紝浣嗗湪琚紩鍏++涔嬪墠璇ユ妧鏈氨宸茬粡瀛樺湪浜嗗緢闀跨殑涓孌墊椂闂淬?/p>
STL鐨勪唬鐮佷粠騫夸箟涓婅鍒嗕負涓夌被錛歛lgorithm錛堢畻娉曪級銆乧ontainer錛堝鍣級鍜宨terator錛堣凱浠e櫒錛夛紝鍑犱箮鎵鏈夌殑浠g爜閮介噰鐢ㄤ簡妯℃澘綾誨拰妯$増鍑芥暟鐨勬柟寮忥紝榪欑浉姣斾簬浼犵粺鐨勭敱鍑芥暟鍜岀被緇勬垚鐨勫簱鏉ヨ鎻愪緵浜嗘洿濂界殑浠g爜閲嶇敤鏈轟細銆傚湪C++鏍囧噯涓紝STL琚粍緇囦負涓嬮潰鐨?3涓ご鏂囦歡錛?lt;algorithm>銆?lt;deque>銆?lt;functional>銆?lt;iterator>銆?lt;vector>銆?lt;list>銆?lt;map>銆?lt;memory>銆?lt;numeric>銆?lt;queue>銆?lt;set>銆?lt;stack>鍜?lt;utility>銆備互涓嬬瑪鑰呭氨綆鍗曚粙緇嶄竴涓婼TL鍚勪釜閮ㄥ垎鐨勪富瑕佺壒鐐廣?/p>
澶у閮借兘鍙栧緱鐨勪竴涓叡璇嗘槸鍑芥暟搴撳鏁版嵁綾誨瀷鐨勯夋嫨瀵瑰叾鍙噸鐢ㄦц搗鐫鑷沖叧閲嶈鐨勪綔鐢ㄣ備婦渚嬫潵璇達紝涓涓眰鏂規牴鐨勫嚱鏁幫紝鍦ㄤ嬌鐢ㄦ誕鐐規暟浣滀負鍏跺弬鏁扮被鍨嬬殑鎯呭喌涓嬬殑鍙噸鐢ㄦц偗瀹氭瘮浣跨敤鏁村瀷浣滀負瀹冪殑鍙傛暟綾繪ц楂樸傝孋++閫氳繃妯℃澘鐨勬満鍒跺厑璁告帹榪熷鏌愪簺綾誨瀷鐨勯夋嫨錛岀洿鍒扮湡姝f兂浣跨敤妯℃澘鎴栬呰瀵規ā鏉胯繘琛岀壒鍖栫殑鏃跺欙紝STL灝卞埄鐢ㄤ簡榪欎竴鐐規彁渚涗簡鐩稿綋澶氱殑鏈夌敤綆楁硶銆傚畠鏄湪涓涓湁鏁堢殑妗嗘灦涓畬鎴愯繖浜涚畻娉曠殑鈥斺斾綘鍙互灝嗘墍鏈夌殑綾誨瀷鍒掑垎涓哄皯鏁扮殑鍑犵被錛岀劧鍚庡氨鍙互鍦ㄦā鐗堢殑鍙傛暟涓嬌鐢ㄤ竴縐嶇被鍨嬫浛鎹㈡帀鍚屼竴縐嶇被涓殑鍏朵粬綾誨瀷銆?/p>
STL鎻愪緵浜嗗ぇ綰?00涓疄鐜扮畻娉曠殑妯$増鍑芥暟錛屾瘮濡傜畻娉昮or_each灝嗕負鎸囧畾搴忓垪涓殑姣忎竴涓厓绱犺皟鐢ㄦ寚瀹氱殑鍑芥暟錛宻table_sort浠ヤ綘鎵鎸囧畾鐨勮鍒欏搴忓垪榪涜紼沖畾鎬ф帓搴忕瓑絳夈傝繖鏍蜂竴鏉ワ紝鍙鎴戜滑鐔熸倝浜哠TL涔嬪悗錛岃澶氫唬鐮佸彲浠ヨ澶уぇ鐨勫寲綆錛屽彧闇瑕侀氳繃璋冪敤涓涓や釜綆楁硶妯℃澘錛屽氨鍙互瀹屾垚鎵闇瑕佺殑鍔熻兘騫跺ぇ澶у湴鎻愬崌鏁堢巼銆?/p>
綆楁硶閮ㄥ垎涓昏鐢卞ご鏂囦歡<algorithm>錛?lt;numeric>鍜?lt;functional>緇勬垚銆?lt;algorithm>鏄墍鏈塖TL澶存枃浠朵腑鏈澶х殑涓涓紙灝界瀹冨緢濂界悊瑙o級錛屽畠鏄敱涓澶у爢妯$増鍑芥暟緇勬垚鐨勶紝鍙互璁や負姣忎釜鍑芥暟鍦ㄥ緢澶х▼搴︿笂閮芥槸鐙珛鐨勶紝鍏朵腑甯哥敤鍒扮殑鍔熻兘鑼冨洿娑夊強鍒版瘮杈冦佷氦鎹€佹煡鎵俱侀亶鍘嗘搷浣溿佸鍒躲佷慨鏀廣佺Щ闄ゃ佸弽杞佹帓搴忋佸悎騫剁瓑絳夈?lt;numeric>浣撶Н寰堝皬錛屽彧鍖呮嫭鍑犱釜鍦ㄥ簭鍒椾笂闈㈣繘琛岀畝鍗曟暟瀛﹁繍綆楃殑妯℃澘鍑芥暟錛屽寘鎷姞娉曞拰涔樻硶鍦ㄥ簭鍒椾笂鐨勪竴浜涙搷浣溿?lt;functional>涓垯瀹氫箟浜嗕竴浜涙ā鏉跨被錛岀敤浠ュ0鏄庡嚱鏁板璞°?/p>
鍦ㄥ疄闄呯殑寮鍙戣繃紼嬩腑錛屾暟鎹粨鏋勬湰韜殑閲嶈鎬т笉浼氶婁簬鎿嶄綔浜庢暟鎹粨鏋勭殑綆楁硶鐨勯噸瑕佹э紝褰撶▼搴忎腑瀛樺湪鐫瀵規椂闂磋姹傚緢楂樼殑閮ㄥ垎鏃訛紝鏁版嵁緇撴瀯鐨勯夋嫨灝辨樉寰楁洿鍔犻噸瑕併?/p>
緇忓吀鐨勬暟鎹粨鏋勬暟閲忔湁闄愶紝浣嗘槸鎴戜滑甯稿父閲嶅鐫涓浜涗負浜嗗疄鐜板悜閲忋侀摼琛ㄧ瓑緇撴瀯鑰岀紪鍐欑殑浠g爜錛岃繖浜涗唬鐮侀兘鍗佸垎鐩鎬技錛屽彧鏄負浜嗛傚簲涓嶅悓鏁版嵁鐨勫彉鍖栬屽湪緇嗚妭涓婃湁鎵鍑哄叆銆係TL瀹瑰櫒灝變負鎴戜滑鎻愪緵浜嗚繖鏍風殑鏂逛究錛屽畠鍏佽鎴戜滑閲嶅鍒╃敤宸叉湁鐨勫疄鐜版瀯閫犺嚜宸辯殑鐗瑰畾綾誨瀷涓嬬殑鏁版嵁緇撴瀯錛岄氳繃璁劇疆涓浜涙ā鐗堢被錛孲TL瀹瑰櫒瀵規渶甯哥敤鐨勬暟鎹粨鏋勬彁渚涗簡鏀寔錛岃繖浜涙ā鏉跨殑鍙傛暟鍏佽鎴戜滑鎸囧畾瀹瑰櫒涓厓绱犵殑鏁版嵁綾誨瀷錛屽彲浠ュ皢鎴戜滑璁稿閲嶅鑰屼箯鍛崇殑宸ヤ綔綆鍖栥?/p>
瀹瑰櫒閮ㄥ垎涓昏鐢卞ご鏂囦歡<vector>,<list>,<deque>,<set>,<map>,<stack>鍜?lt;queue>緇勬垚銆傚浜庡父鐢ㄧ殑涓浜涘鍣ㄥ拰瀹瑰櫒閫傞厤鍣紙鍙互鐪嬩綔鐢卞叾瀹冨鍣ㄥ疄鐜扮殑瀹瑰櫒錛夛紝鍙互閫氳繃涓嬭〃鎬葷粨涓涓嬪畠浠拰鐩稿簲澶存枃浠剁殑瀵瑰簲鍏崇郴銆?/p>
鏁版嵁緇撴瀯 | 鎻忚堪 | 瀹炵幇澶存枃浠?/font> |
鍚戦噺(vector) | 榪炵畫瀛樺偍鐨勫厓绱?/td> | <vector> |
鍒楄〃(list) | 鐢辮妭鐐圭粍鎴愮殑鍙屽悜閾捐〃錛屾瘡涓粨鐐瑰寘鍚潃涓涓厓绱?/td> | <list> |
鍙岄槦鍒?deque) | 榪炵畫瀛樺偍鐨勬寚鍚戜笉鍚屽厓绱犵殑鎸囬拡鎵緇勬垚鐨勬暟緇?/td> | <deque> |
闆嗗悎(set) | 鐢辮妭鐐圭粍鎴愮殑綰㈤粦鏍戯紝姣忎釜鑺傜偣閮藉寘鍚潃涓涓厓绱狅紝鑺傜偣涔嬮棿浠ユ煇縐嶄綔鐢ㄤ簬鍏冪礌瀵圭殑璋撹瘝鎺掑垪錛屾病鏈変袱涓笉鍚岀殑鍏冪礌鑳藉鎷ユ湁鐩稿悓鐨勬搴?/td> | <set> |
澶氶噸闆嗗悎(multiset) | 鍏佽瀛樺湪涓や釜嬈″簭鐩哥瓑鐨勫厓绱犵殑闆嗗悎 | <set> |
鏍?stack) | 鍚庤繘鍏堝嚭鐨勫肩殑鎺掑垪 | <stack> |
闃熷垪(queue) | 鍏堣繘鍏堝嚭鐨勬墽鐨勬帓鍒?/td> | <queue> |
浼樺厛闃熷垪(priority_queue) | 鍏冪礌鐨勬搴忔槸鐢變綔鐢ㄤ簬鎵瀛樺偍鐨勫煎涓婄殑鏌愮璋撹瘝鍐沖畾鐨勭殑涓縐嶉槦鍒?/td> | <queue> |
鏄犲皠(map) | 鐢眥閿紝鍊紏瀵圭粍鎴愮殑闆嗗悎錛屼互鏌愮浣滅敤浜庨敭瀵逛笂鐨勮皳璇嶆帓鍒?/td> | <map> |
澶氶噸鏄犲皠(multimap) | 鍏佽閿鏈夌浉絳夌殑嬈″簭鐨勬槧灝?/td> | <map> |
涓嬮潰瑕佽鐨勮凱浠e櫒浠庝綔鐢ㄤ笂鏉ヨ鏄渶鍩烘湰鐨勯儴鍒嗭紝鍙槸鐞嗚В璧鋒潵姣斿墠涓よ呴兘瑕佽垂鍔涗竴浜涳紙鑷沖皯絎旇呮槸榪欐牱錛夈傝蔣浠惰璁℃湁涓涓熀鏈師鍒欙紝鎵鏈夌殑闂閮藉彲浠ラ氳繃寮曡繘涓涓棿鎺ュ眰鏉ョ畝鍖栵紝榪欑綆鍖栧湪STL涓氨鏄敤榪唬鍣ㄦ潵瀹屾垚鐨勩傛鎷潵璇達紝榪唬鍣ㄥ湪STL涓敤鏉ュ皢綆楁硶鍜屽鍣ㄨ仈緋昏搗鏉ワ紝璧風潃涓縐嶉粡鍜屽墏鐨勪綔鐢ㄣ傚嚑涔嶴TL鎻愪緵鐨勬墍鏈夌畻娉曢兘鏄氳繃榪唬鍣ㄥ瓨鍙栧厓绱犲簭鍒楄繘琛屽伐浣滅殑錛屾瘡涓涓鍣ㄩ兘瀹氫箟浜嗗叾鏈韓鎵涓撴湁鐨勮凱浠e櫒錛岀敤浠ュ瓨鍙栧鍣ㄤ腑鐨勫厓绱犮?/p>
榪唬鍣ㄩ儴鍒嗕富瑕佺敱澶存枃浠?lt;utility>,<iterator>鍜?lt;memory>緇勬垚銆?lt;utility>鏄竴涓緢灝忕殑澶存枃浠訛紝瀹冨寘鎷簡璐┛浣跨敤鍦⊿TL涓殑鍑犱釜妯℃澘鐨勫0鏄庯紝<iterator>涓彁渚涗簡榪唬鍣ㄤ嬌鐢ㄧ殑璁稿鏂規硶錛岃屽浜?lt;memory>鐨勬弿榪板垯鍗佸垎鐨勫洶闅撅紝瀹冧互涓嶅悓瀵誨父鐨勬柟寮忎負瀹瑰櫒涓殑鍏冪礌鍒嗛厤瀛樺偍絀洪棿錛屽悓鏃朵篃涓烘煇浜涚畻娉曟墽琛屾湡闂翠駭鐢熺殑涓存椂瀵硅薄鎻愪緵鏈哄埗,<memory>涓殑涓昏閮ㄥ垎鏄ā鏉跨被allocator錛屽畠璐熻矗浜х敓鎵鏈夊鍣ㄤ腑鐨勯粯璁ゅ垎閰嶅櫒銆?/p>
瀵逛簬涔嬪墠涓嶅お浜嗚ВSTL鐨勮鑰呮潵璇達紝涓婇潰鐨勬枃瀛楀彧鏄崄鍒嗘鎷湴鎻忚堪浜嗕竴涓婼TL鐨勬鏋訛紝瀵規偍鐞嗚ВSTL鐨勬満鍒朵箖鑷充嬌鐢⊿TL鎵璧峰埌鐨勫府鍔╁井涔庣敋寰紝榪欎笉鍏夋槸鍥犱負娣卞叆STL闇瑕佸C++鐨勯珮綰у簲鐢ㄦ湁姣旇緝鍏ㄩ潰鐨勪簡瑙o紝鏇村洜涓篠TL鐨勪笁涓儴鍒嗙畻娉曘佸鍣ㄥ拰榪唬鍣ㄤ笁閮ㄥ垎鏄簰鐩哥壍鍒舵垨鑰呰鏄揣瀵嗙粨鍚堢殑銆備粠姒傚康涓婅鏈鍩虹鐨勯儴鍒嗘槸榪唬鍣紝鍙槸鐩存帴瀛︿範榪唬鍣ㄤ細閬囧埌璁稿鎶借薄鏋嚗鍜岀箒鐞愮殑緇嗚妭錛岀劧鑰屼笉鐪熸鐞嗚В榪唬鍣ㄥ張鏄棤娉曠洿鎺ヨ繘鍏ュ彟涓ら儴鍒嗙殑瀛︿範鐨勶紙鑷沖皯瀵瑰墫鏋愭簮鐮佹潵璇存槸榪欐牱錛夈傚彲浠ヨ錛岄傚簲STL澶勭悊闂鐨勬柟娉曟槸闇瑕佽姳璐逛竴瀹氱殑鏃墮棿鐨勶紝浣嗘槸浠ユ涓轟唬浠鳳紝STL鍙栧緱浜嗕竴縐嶅崄鍒嗗彲璐電殑鐙珛鎬э紝瀹冮氳繃榪唬鍣ㄨ兘鍦ㄥ敖鍙兘灝戝湴鐭ラ亾鏌愮鏁版嵁緇撴瀯鐨勬儏鍐典笅瀹屾垚瀵硅繖涓緇撴瀯鐨勮繍綆楋紝鎵浠ヤ笅鍐沖績閽葷爺STL鐨勬湅鍙嬩滑鍗冧竾涓嶈琚竴鏃剁殑鍥伴毦鍑誨掋傚叾瀹濻TL榪愮敤鐨勬ā寮忕浉瀵圭粺涓錛屽彧瑕侀傚簲浜嗗畠錛屼粠涓涓猄TL宸ュ叿鍒板彟涓涓伐鍏鳳紝閮戒笉浼氭湁浠涔堝ぇ鐨勫彉鍖栥?/p>
瀵逛簬STL鐨勪嬌鐢紝涔熸櫘閬嶅瓨鍦ㄧ潃涓ょ瑙傜偣銆傜涓縐嶈涓篠TL鐨勬渶澶т綔鐢ㄥ湪浜庡厖褰撶粡鍏哥殑鏁版嵁緇撴瀯鍜岀畻娉曟暀鏉愶紝鍥犱負瀹冪殑婧愪唬鐮佹秹鍙婁簡璁稿鍏蜂綋瀹炵幇鏂歸潰鐨勯棶棰樸傜浜岀鍒欒涓篠TL鐨勫垵琛蜂箖鏄負浜嗙畝鍖栬璁★紝閬垮厤閲嶅鍔沖姩錛屾彁楂樼紪紼嬫晥鐜囷紝鍥犳搴旇鏄滃簲鐢ㄨ嚦涓娾濈殑錛屽浜庢簮浠g爜鍒欎笉蹇呮繁絀躲傜瑪鑰呭垯璁や負鍒嗘瀽婧愪唬鐮佸拰搴旂敤騫朵笉鐭涚浘錛岄氳繃鍒嗘瀽婧愪唬鐮佷篃鑳芥彁楂樻垜浠鍏跺簲鐢ㄧ殑鐞嗚В錛屽綋鐒舵牴鎹叿浣撶殑鐩殑涔熷彲浠ユ湁涓嶅悓鐨勪晶閲嶃?/p>
鏈鍚庤璇寸殑鏄紝STL鏄疉NSI/ISO C++鏍囧噯鐨勪竴閮ㄥ垎錛屾墍浠ュ浜庝竴涓彲浠ユ湁澶氱C++瀹炵幇鐨勮繃紼嬶紝棣栧厛鑰冭檻鐨勫簲璇ユ槸STL鎻愪緵鐨勬ā鏉匡紙楂樻晥涓斿彲縐繪鎬уソ錛夛紝鍏舵鎵嶆槸鍚勪釜鍘傚晢鍚勮嚜鐩稿簲鐨勫簱錛堥珮鏁堜絾鍙Щ妞嶆т笉濂斤級浠ュ強鑷繁鍘葷紪鍐欎唬鐮侊紙鍙Щ妞嶆уソ浣嗕綆鏁堬級銆?/p>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鎬掔伀涔嬭
聽