整體思路: 捕捉滑鼠和視窗的關係 、捕捉視窗的位置。
當視窗位於桌面邊界時,判斷 滑鼠和視窗的關係,若滑鼠在視窗中,不隱藏,若滑鼠不在視窗中,則隱藏
1) 標記當前視窗狀態
enum hideposition;
2)定義乙個dword m_lastactivetime; 標記最後active 時間
只需要繫結訊息 wm_ncmousemove 、wm_mousemove 訊息,在函式中更新 lastactivetime = gettickcount();
void ***::onmousemove(uint nflags, cpoint point)
//框架滑鼠訊息
void ***::onncmousemove(uint nflags, cpoint point)
3) 定義滑鼠是否在窗體內函式
bool ***::ismouseinwindow()
4) 初始化關鍵資訊
m_screenx=getsystemmetrics (sm_cxscreen);
m_screeny=getsystemmetrics (sm_cyscreen);
m_lastactivetime=gettickcount();
m_hideposition =hideposition::no;
settimer(100,100,null);//本人喜歡把timer 的event 和間隔設定成乙個,嘿嘿
5) 有了 settimer ,當然需要看ontimer 如何處理了
void dockeddlg::ontimer(uint nidevent)
else
break;
} cdialog::ontimer(nidevent);
}
6) 嘿嘿, 展示和隱藏都很簡單的哦,見下面
//停靠隱藏
void ****::dockedhidden()
else if( m_rect.left <=0 )else if( m_rect.right >= m_screenx)else }}
//停靠顯示
void ****::dockedshow()
break;
case hideposition::left:
while (++seq <= 5)
break;
case hideposition::right:
while (++seq <= 5)
break;
} m_hideposition =hideposition::no;
}}
ok,大功告成,將窗體拉動到桌面邊界,自動隱藏之
讓tabbar自動隱藏
在做ios的開發過程中就會發現有乙個比較頭疼的問題,就是下面tabbar的隱藏與消失,特別是同乙個控制器在不同的地方顯示尤為尷尬。一般在push的時候都會寫這樣一句話.self.hidesbottombarwhenpushed no 有的時候各種push就會發生tabbar出現異常。最終我自己寫了乙...
用timer做在視窗中自動隱藏面板
在form左邊dock乙個panel 當滑鼠移到form左邊時,panel自動從左邊出來,離開後自動隱藏 private sub timer1 tick subtimer1 tick byval sender assystem.object,byval e as system.eventargs h...
IOS UITextView實現自動隱藏鍵盤
不講原理。只講操作。三 步 設定 text input traits return key 為done 去掉auto enable return key 選中狀態。建立乙個類為 inte ce boardreturn nsobject end implementation boardreturn b...