InvalidateRect的参数

windows\u7f16\u7a0b\uff1a\u5173\u4e8eInvalidateRect\u7684\u7b2c3\u4e2a\u53c2\u6570\u95ee\u9898\u3002

InvalidateRect()\u7684\u7b2c\u4e09\u4e2a\u53c2\u6570\u662f\u51b3\u5b9a\u662f\u5426\u7ed9\u7a0b\u5e8f\u53d1\u9001WM_ERASEBKGND\u6d88\u606f\uff0c\u4e3aFALSE\u7684\u8bdd\u5219\u4e0d\u53d1\u9001\u8be5\u6d88\u606f\u3002\u5982\u679c\u60f3\u6539\u53d8\u80cc\u666f\uff0c\u53ef\u4ee5\u5728\u8be5\u6d88\u606f\u7684\u5904\u7406\u8fc7\u7a0b\u4e2d\u5bf9\u80cc\u666f\u505a\u4e00\u4e9b\u5904\u7406\u3002\u62ff\u4e0a\u9762\u7684\u4f8b\u5b50\u6765\u8bf4\u5c31\u662f\u5728switc\u8bed\u53e5\u4e2d\u6dfb\u52a0\u4e00\u6761\uff1a"case WM_ERASEBKGND:\u3002\u3002\u3002//\u5904\u7406\u8fc7\u7a0b"\u3002

\u5bf9\u4e8e\u4e0a\u9762\u7684\u7a0b\u5e8f\u4e3a\u4ec0\u4e48\u4ecd\u7136\u4f1a\u64e6\u9664\u80cc\u666f\u662f\u56e0\u4e3a\uff1aInvalidateRect\u51fd\u6570\u4f1a\u7ed9\u7cfb\u7edf\u53d1\u9001WM_PAINT\u6d88\u606f\uff0c\u56e0\u6b64\u5728\u7a0b\u5e8f\u4e2d\u6267\u884c\u5230\u8be5\u51fd\u6570\u65f6\u5219\u7ed9\u7a0b\u5e8f\u53d1\u9001WM_PAINT\u6d88\u606f\uff0c\u5373\u8f6c\u5230WM_PAINT\u6d88\u606f\u5904\u7406\u91cc\u9762\u91cc\uff0c\u7136\u540e\u7531fState[x][y]\u51b3\u5b9a\u662f\u5426\u753b\u53c9\uff0c\u5177\u4f53fState\u6570\u7ec4\u521a\u5f00\u59cb\u5185\u5bb9\u5e94\u8be5\u4e3a0\uff0c\u6240\u4ee5\u521a\u5f00\u59cb\u4ec0\u4e48\u90fd\u6ca1\u6709\uff0c\u4f46\u5f53\u4f60\u5904\u7406WM_LBUTTONDOWN\u65f6\u9759fState[x][y]\u4e0e1\u5f02\u6216\u4e86\u6240\u4ee5\u53d8\u6210\u4e861\uff0c\u7136\u540eWM_PAINT\u6d88\u606f\u91cc\u9762\u7684if (fState [x][y]){};\u8fd9\u6761\u8bed\u53e5\u5c31\u6267\u884c\u4e86\uff0c\u4e5f\u5c31\u662f\u753b\u4e86\u53c9\uff0c\u5f53\u518d\u70b9\u7684\u65f6\u50191\u4e0e1\u5f02\u6216\u53c8\u53d8\u62100\u4e86\uff0c\u6240\u4ee5\u53c8\u628a\u53c9\u7ed9\u64e6\u4e86\u3002


\u8bf4\u7684\u6709\u70b9\u591a\u554a\uff0c\u53ef\u80fd\u8868\u8ff0\u7684\u4e0d\u592a\u6e05\u695a\u3002\u603b\u7684\u6765\u8bf4\u5c31\u662f\u4f60\u6bcf\u70b9\u4e00\u6b21\u5de6\u952e\u90fd\u4f1a\u54cd\u5e94\u4e00\u6b21WM_PAINT\u6d88\u606f\uff0c\u800cWM_PAINT\u7684\u5904\u7406\u51fd\u6570\u662f\u628a\u6574\u4e2a\u7a97\u53e3\u5206\u6210\u5f88\u591a\u4e2a\u5c0f\u65b9\u6846\uff0c\u7528\u4e00\u4e2a\u6570\u7ec4\u6765\u51b3\u5b9a\u5c0f\u65b9\u6846\u91cc\u9762\u662f\u5426\u753b\u53c9\uff0c\u5982\u679c\u6570\u7ec4\u5143\u7d20\u4e3a1\u5219\u753b\u53c9\uff0c\u5982\u679c\u4e3a0\u5219\u4e0d\u753b\u3002\u6bcf\u6b21\u5904\u7406WM_PAINT\u6d88\u606f\u90fd\u8981\u5bf9\u6570\u7ec4\u8fdb\u884c\u904d\u5386\u4e00\u6b21\u5df2\u51b3\u5b9a\u662f\u5426\u753b\u53c9\u3002

\u56e0\u6b64\u6211\u611f\u89c9InvalidateRect\u7684\u7b2c\u4e09\u4e2a\u53c2\u6570\u662ftrue\u8fd8\u662ffalse\u8ddf\u8fd9\u4e2a\u7a0b\u5e8f\u6ca1\u5565\u5173\u7cfb\u3002

CWnd::InvalidateRect

void InvalidateRect( LPCRECT lpRect, BOOL bErase = TRUE );

\u53c2\u6570\uff1a lpRect \u6307\u5411\u4e00\u4e2aCRect\u5bf9\u8c61\u6216RECT\u7ed3\u6784\uff0c\u5176\u4e2d\u5305\u542b\u4e86\u8981\u88ab\u52a0\u5165\u66f4\u65b0\u533a\u57df\u7684\u77e9\u5f62\uff08\u5ba2\u6237\u533a\u5750\u6807\uff09\u3002\u5982\u679clpRect\u4e3aNULL\uff0c\u5219\u6574\u4e2a\u5ba2\u6237\u533a\u90fd\u88ab\u52a0\u5165\u66f4\u65b0\u533a\u57df\u3002
bErase \u6307\u5b9a\u66f4\u65b0\u533a\u57df\u5185\u7684\u80cc\u666f\u662f\u5426\u8981\u88ab\u64e6\u9664\u3002

\u8bf4\u660e\uff1a
\u8fd9\u4e2a\u51fd\u6570\u5c06\u7ed9\u5b9a\u7684\u5ba2\u6237\u533a\u77e9\u5f62\u52a0\u5165CWnd\u66f4\u65b0\u533a\u57df\uff0c\u4f7f\u8be5\u533a\u57df\u65e0\u6548\u3002\u65e0\u6548\u7684\u77e9\u5f62\u4e0e\u66f4\u65b0\u533a\u57df\u5185\u7684\u5176\u5b83\u533a\u57df\u4e00\u8d77\u88ab\u6807\u8bb0\u4e3a\u5728\u53d1\u9001\u4e0b\u4e00\u6761WM_PAINT\u6d88\u606f\u65f6\u9700\u8981\u91cd\u753b\u3002\u65e0\u6548\u7684\u533a\u57df\u5728\u66f4\u65b0\u533a\u57df\u5185\u7d2f\u79ef\uff0c\u76f4\u5230\u53d1\u751f\u4e0b\u4e00\u6b21WM_PAINT\u8c03\u7528\uff0c\u8fd9\u4e2a\u533a\u57df\u88ab\u5904\u7406\u4e3a\u6b62\uff0c\u6216\u8005\u76f4\u5230\u8fd9\u4e2a\u533a\u57df\u88abValidateRect\u6216ValidateRgn\u6210\u5458\u51fd\u6570\u6807\u4e3a\u6709\u6548\u4e3a\u6b62\u3002
bErase\u53c2\u6570\u6307\u5b9a\u4e86\u5728\u5904\u7406\u66f4\u65b0\u533a\u57df\u7684\u65f6\u5019\u662f\u5426\u8981\u64e6\u9664\u66f4\u65b0\u533a\u57df\u5185\u7684\u80cc\u666f\u3002\u5982\u679cbErase\u4e3aTRUE\uff0c\u5219\u5f53\u8c03\u7528BeginPaint\u51fd\u6570\u7684\u65f6\u5019\uff0c\u5c06\u64e6\u9664\u80cc\u666f\u3002\u5982\u679cbErase\u4e3aFALSE\uff0c\u5219\u80cc\u666f\u4fdd\u6301\u4e0d\u53d8\u3002\u5982\u679c\u5bf9\u4e8e\u66f4\u65b0\u533a\u57df\u7684\u4efb\u4f55\u90e8\u5206bErase\u4e3aTRUE\uff0c\u5219\u6574\u4e2a\u533a\u57df\u7684\u80cc\u666f\u90fd\u4f1a\u88ab\u64e6\u9664\uff0c\u800c\u4e0d\u4ec5\u662f\u7ed9\u5b9a\u7684\u90e8\u5206\u3002
\u5f53CWnd\u7684\u66f4\u65b0\u533a\u57df\u4e0d\u4e3a\u7a7a\uff0c\u5e76\u4e14\u5e94\u7528\u7a0b\u5e8f\u7684\u7a97\u53e3\u6d88\u606f\u961f\u5217\u4e2d\u6ca1\u6709\u5176\u5b83\u6d88\u606f\u65f6\uff0cWindows\u5c31\u53d1\u9001\u4e00\u6761WM_PAINT\u6d88\u606f\u3002

TRUE并且你的窗口类有背景画刷的话会自动用背景画刷把内容擦掉,FALSE或者根本没背景画刷就会保留原来的内容。

  • InvalidateRect( CRect *)
    绛旓細InvalidateRect(&Rect)鍜孖nvalidate()涓や釜鍑芥暟褰㈠紡鍜屽姛鑳藉樊涓嶅锛屼絾Invalidate鏄娇寰楁暣涓獥鍙f棤鏁堬紝褰㈡垚鏃犳晥鐭╁舰锛岃孖nvalidateRect(&Rect)鏄 浣垮緱鎸囧畾鐨勫尯鍩熸棤鏁堛傚鏋滀綘鐨凮nPaint姣旇緝绠鍗曟椂锛孖nvalidateRect(&Rect)鍜孖nvalidate()鍖哄埆涓嶆槸寰堝ぇ锛屽洜涓虹浉瀵归噸缁橀噺灏戯紝鎵浠ユ暣涓噸缁樺拰灞閮ㄩ噸缁樺尯鍒笉鏄緢鏄庢樉銆傚綋浣...
  • InvalidateRect(hWnd, NULL, FALSE);
    绛旓細dc(this)澹版槑鐨刣c缁樺浘锛屽洜涓哄彧鏈夎繖涓猟c鍚湁鏃犳晥鍖哄煙鐨勪俊鎭傚鏋滃湪OnPaint涓彟澶栧0鏄庣殑浜嗕竴涓猟c(someDCelse)锛岃繖涓猟c涓嶆槸鏈獥鍙c锛岀悊璁轰笂涓嶄細鍙戠敓浣滅敤銆備絾鏄鏋滅敱浜InvalidateRect鐨璋冪敤寮曡捣鏈獥鍙i噸缁橈紝涔熶細寮曞彂OnPaint鍑芥暟锛岃繖鏃剁敤鍏宠仈鍏朵粬璁惧鐨刣c缁樺浘锛屼細鍘熷皝鎵ц锛屼粠鑰岀粰浜轰竴绉嶈鎵ц浜嗙殑閿欒銆
  • 鍏充簬invalidaterect鐨闂?
    绛旓細Windows鎿嶄綔绯荤粺璁板綍浣犵殑绐楀彛鐨勯偅涓閮ㄥ垎琚伄鐩栦簡锛屽彨鍋氣滄棤鏁堥儴鍒嗏濄傝繖鏃跺欏氨浼氫骇鐢焀M_PAINT娑堟伅锛學M_PAINT娑堟伅鐨勫搷搴斾唬鐮佸簲褰撻噸缁樼獥鍙o紝骞堕氳繃BeginPaint()鍜孍ndPaint()鐨勮皟鐢ㄤ娇鏁翠釜鏃犳晥閮ㄥ垎鎭㈠涓烘湁鏁堛傜幇鍦ㄥ洖绛斾綘鐨勭涓涓棶棰樸InvalidateRect鐨浣滅敤灏辨槸浜х敓WM_PAINT娑堟伅銆俉M_COMMAND閲岄潰鐨刅alidateRect鐨勪綔鐢...
  • 鐢InvalidateRect閮ㄥ垎閲嶇粯妗岄潰
    绛旓細浠g爜涓RECT鐨寮曠敤鏈夐棶棰橈紝浠ヤ笅鏄垜鍐欑殑绀轰緥浠g爜~ 閲嶇偣鍦ㄤ簬RECT鐨勫畾涔変笌C#涓殑Rectangle涓嶅悓銆傝嚦浜庝紶绌烘寚閽堜负浠涔堝鑷村叏灞忓埛鏂帮紝鍦ˋPI涓浂涓鑸〃绀烘洿鏂版闈㈢獥鍙c倁sing System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;using System.Threading;using System.Drawing...
  • InvalidateRect鍑芥暟涓棤鏁堝尯鍩熸槸鎸囧摢涓閮ㄥ垎?
    绛旓細灏辨槸浣犳兂璁╅噸鏂扮敾鐨勫尯鍩熴
  • 鍦╟璇█涓粈涔堝嚱鏁拌兘瀹炵幇璇嗗埆閿洏涓婄殑鎸夐敭?
    绛旓細娣诲姞WM_KEYDOWN鍑芥暟銆傚湪鍑芥暟浣撲腑case WM_KEYDOWN: if (wParam==VK_LEFT)//鏂瑰悜閿乏 { rect1.left-=10; rect1.right-=10; InvalidateRect (hWnd,NULL,TRUE); } else if (wParam==VK_RIGHT)//鏂瑰悜閿彸 { rect1.left+=10; rect1.right+=10; Invalidat...
  • ...鐢ㄤ粈涔堝嚱鏁板彲浠ユ摝鍖哄煙鑳屾櫙?绫讳技浜InvalidateRect(hwnd,NULL,true...
    绛旓細__in HWND hWnd,__in const RECT *lpRect,__in BOOL bErase );杩欐墠鏄InvalidateRect鐨鍘熷瀷銆備綘灏唋pRect璁句负NULL锛屾墍浠ユ墠鏇存柊鏁翠釜鍖哄煙銆傚鏋滀綘浼犲叆涓涓煩褰㈠尯鍩熺粨鏋勭殑鎸囬拡銆傞偅涔堝氨鍙細鏇存柊杩欏潡鐭╁舰鍖哄煙銆傝繕鏈夎繖鍑芥暟鐨勭敤澶勬槸浣垮緱鎸囧畾鐭╁舰鍖哄煙灏嗚redraw銆傝繕鏈変釜鍔熻兘绫讳技鐨勫嚱鏁帮細BOOL InvalidateRgn(__...
  • ...浣嗘槸杩欎釜鍑芥暟閲岀殑InvalidateRect涓寮濮嬫棤鏁
    绛旓細妤间富濡傛灉鎯宠鍦 OnMouseMove 閲屽紩璧烽噸缁 锛屾垜寤鸿妤间富涓嶈杩欐牱鍋氾紝杩欐牱鏄笉浼氬紩璧烽噸缁橈紝涓嶇煡閬撴ゼ涓绘湁娌℃湁鍚埌杩囩嚎绋嬫秷鎭槦鍒楋紝闃熷垪鍒嗕负鍙戦併佺櫥璁般佽櫄鎷熴佸埛鏂扮瓑闃熷垪锛屼互涓婇『搴忛兘鏄鏋滄湁鐩稿簲闃熷垪鐨勬秷鎭笅涓绾ф秷鎭槸涓嶄細澶勭悊鐨勩侽nMouseMove榧犳爣绉诲姩娑堟伅鏄睘浜庤櫄鎷燂紝涔熷氨鏄┍鍔ㄨ澶囦骇鐢熺殑娑堟伅锛屽閿洏锛...
  • 瀵硅瘽妗唎nPaint()涓负浣曢渶瑕佸啓鍏Invalidate();UpdateWindow();_鐧...
    绛旓細鏁堟灉寰堟槑鏄撅紝褰撹皟鐢↖nvalidate涔嬪悗锛屽睆骞曚笉涓瀹氶┈涓婃洿鏂帮紝鍥犱负WM_PAINT娑堟伅涓嶄竴瀹氬湪闃熷垪澶撮儴锛岃岃皟鐢║pdateWindow浼氫娇WM_PAINT娑堟伅椹笂鎵ц鐨勶紝缁曡繃浜嗘秷鎭槦鍒椼傚鏋滆皟鐢↖nvalidate涔嬪悗鎯抽┈涓婃洿鏂板睆骞曪紝閭e氨鍔犱笂UpdateWindow()杩欐潯璇彞銆InvalidateRect鍙槸澧炲姞閲嶇粯鍖哄煙锛屽湪涓嬫WM_PAINT鐨勬椂鍊欐墠鐢熸晥 InvalidateRect鍑芥暟...
  • WIN32 涓嶇敤InvalidateRect(hWnd,NULL,TRUE)鍒锋柊鐨勮瘽,鍐呭灏变笉鍔ㄥ悧?璇烽棶...
    绛旓細鏈変笁绉嶆柟娉.涓嬮潰鎴戠粰浣犱竴涓浠嬬粛.绗竴绉:閫氳繃鐢–PtrArray鏁扮粍绫讳繚瀛榲oid瀵硅薄(鍗充换浣曠被鍨嬬殑瀵硅薄).濡,浣犵敤CDC绫昏繘琛岀粯鍥,姣忕粯鍒朵竴姝ュ浘褰㈠氨閫氳繃CPtrArray淇濆瓨瀹冪殑DC.鐒跺悗鍦∣nDraw鎴栬呭湪OnPaint鍑芥暟涓噸鏂扮粯鍒.鍗冲埛鏂扮獥鍙f椂閲嶆柊缁樺埗鍑烘潵.绗簩绉:閫氳繃CMetaFileDC绫讳繚瀛樺厓鏂囦欢(娉ㄦ剰鏄厓鏂囦欢涓嶆槸婧愭枃浠).鍗冲綋浣...
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网