锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 浣跨敤gdi+鍜屼箣鍓嶅啓鐨?CTimerMgr 鍐欎簡涓涓挱鏀緂if鍔ㄧ敾鐨勫皬鎺т歡銆傚師鐞嗗氨鏄嬌鐢╣di+瑙g爜gif錛岃鍑哄姩鐢誨撫闂撮殧錛屼嬌鐢–TimerMgr
璁劇疆瀹氭椂鍣ㄣ傚畾鏃跺櫒瓚呭湪鏂板垱寤虹殑綰跨▼涓緗綋鍓嶅簲璇ユ挱鏀劇殑甯э紙SelectActiveFrame()錛夛紝騫惰姹傛帶浠墮噸緇?Invalidate())銆?/p>
浣跨敤涓彂鐜癲ebug涓媜utput紿楀彛鎬繪槸杈撳嚭 First-chance exception at 0x4aeee2e0
0x80000001: 灝氭湭瀹炵幇錛屼絾騫朵笉褰卞搷紼嬪簭榪愯銆傚悗鏉ュ彂鐜伴棶棰樺氨婧愯嚜浜庡湪 瀹氭椂鍣ㄧ嚎紼嬩腑璋冪敤浜?GDI+ 鐨処mage綾葷殑
SelectActiveFrame錛堬級銆傚簲璇ユ槸 Image涓嶆槸綰跨▼瀹夊叏鐨勭被瀵艱嚧鐨勩?/p>
瑙e喅鏂規寰堢畝鍗曪紝浣跨敤WM_Timer鍋氬畾鏃跺櫒銆傚叾瀹炰粠涓寮濮嬬殑瀹炵幇涓婂氨搴旇浣跨敤WM_TIMER錛岃屼笉鏄畾鏃跺櫒綰跨▼銆傚綋鍒濅嬌鐢ㄥ畾鏃跺櫒綰跨▼鏄昒I綰跨▼涓湁鑰楁椂鎿嶄綔浼氬鑷磄if鍗°?/p>
浣嗘槸瀹氭椂鍣ㄧ嚎紼嬪茍涓嶈兘瑙e喅榪欎釜闂錛屽洜涓哄畾鏃跺櫒綰跨▼浠呬粎鏄緗簡搴斿綋緇樺埗鐨勪笅涓甯э紝鍏蜂綋鐨勭粯鍒惰繕鏄湪UI綰跨▼涓鐞嗙殑銆?/p>
]]>
鎴栦細鍙戠幇瀵逛腑鏂囧瓧絎﹁緗殑瀛椾綋鐢熸晥鐨勶紝浣嗘槸鑻辨枃瀛楃鏈敓鏁堛?/p>
鍙互鍘繪帀榪欎釜灞炴э細
1: WINUSERAPI
2: BOOL
3: WINAPI
4: SetWindowPos(
5: __in HWND hWnd,
6: __in_opt HWND hWndInsertAfter,
7: __in int X,
8: __in int Y,
9: __in int cx,
10: __in int cy,
11: __in UINT uFlags);
涓漢鎬葷粨鏈変互涓嬪嚑鐐硅娉ㄦ剰
1. 褰?SetWindowPos 鐨?nFlags 鍙傛暟璁劇疆鐨勬湁 SWP_SHOWWINDOW 鎴?SWP_HIDEWINDOW 鏃?璁劇疆紿楀彛ZOrder鐨刪WndInsertAfter鍙傛暟鍜岃緗ぇ灝忎綅緗殑x錛寉錛宑x錛宑y鏃犳晥銆傝繖涓湪msdn涓湁鐗瑰埆鐨勮鏄?/p>
2.褰撹緗獥鍙g疆欏舵椂瀹為檯涓奡etWindowPos 鏄氳繃緇欑獥鍙e鍔?WS_EX_TOPMOST 鎵╁睍鏍峰紡鏉ュ疄鐜扮殑銆傝?WS_EX_TOPMOST 鐨勬墿灞曟牱寮忔槸鍙兘璁劇疆鍒伴《灞傜獥鍙g殑(top level window)銆傝繖鎰忓懗鑰呭瀛愮獥鍙o紙鍏鋒湁 ws_child椋庢牸錛夌殑紿楀彛璋冪敤涓嬮潰鐨勪唬鐮佹槸鏃犳晥鐨勶紝浣嗘偛鍓х殑鏄繖涓皟鐢ㄧ殑榪斿洖鍊間粛鐒舵槸 true銆?/p>
1: //hChildWnd 鏄叿鏈?WS_CHILD椋庢牸鐨勭獥鍙?,涓嬮潰鐨勬搷浣滄棤鏁?/span>
2: BOOL bRet = ::SetWindowPos(hChildWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
3:
4: //hChildWnd 鏄叿鏈?WS_CHILD椋庢牸鐨勭獥鍙?鍙互 閫氳繃涓嬮潰鐨勮皟鐢?鎶奾ChildWnd緗負 hChildWnd鐨?sibling 紿楀彛鐨勯《灞?/span>
5: BOOL bRet = ::SetWindowPos(hChildWnd,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
6: