中分割窗口后如何限制分割條移動范圍物業
做一個項目,把一個單文檔的窗口分割成左右兩列,同時還需要設置左邊窗口的最小尺寸。
找了很多資料,都是針對對話框或者文檔的,試了OnSizing和GetMinMaxInfo,結果對分割窗口無效。后來看到分割窗口的例子有鎖定分割條的代碼,跟同事討論了一下,來了靈感。下面是解決辦法,其實很簡單的,可能以前有人做過吧,不過我在上沒有搜索到,所以把我的做法寫出來跟大家分享。
一、新建一個類CMySplitter,基類為CSplitterWnd
二、重載該類的OnMouseMove函數:
void CMySplitter::OnMouseMove(UINT nFlags, CPoint point) { // 限制切分條的運動范圍。 if(point.x228||point.x600) { CWnd::OnMouseMove(nFlags, point); } else { CSplitterWnd::OnMouseMove(nFlags, point); } }
三、 然后就可以跟一般的窗口分割那樣去做了,if(point.x228||point.x600)這里的范圍可以隨你去設置了,夠簡單吧。
四、切分窗口
相關連接:翟若愚在大唐集團公司黨建、人才、思想政治工作會議上的講話 切分窗口就不用講那么詳細了,在MaiFram.h建立切分條對象:
protected: CMySplitter m_wndSplitter; //切分窗口對象 //在p中實現窗口切分: BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,CCreateContext* pContext) { // 創建拆分器窗口 if (!m_eateStatic(this, 1, 2)) return FALSE; if (!m_eateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(228, 100), pContext) || !m_eateView(0, 1, RUNTIME_CLASS(CDataEditView), CSize(100, 100), pContext)) { m_stroyWindow(); return FALSE; } return TRUE; }
查看本文來源
成都癲癇病醫院拉薩包皮過長治療多少錢
寶寶積食怎么調理脾胃
- 熬小米粥,這樣一來放水煮是大錯,做好5關鍵,香濃黏稠,有厚厚米油
- 放射科檢查室冬天為什么那么冷?
- 歸屬江西卻說吳語,江西宜春與浙江有何淵源?
- 茄子無論蒸或炒,都不能直接下鍋!多花錢1步,不發黑,鮮嫩又入味
- 到群眾最所需的地方去
- 徐超群:歐冠利物浦就讓可能平局或贏一個,埃梅里是杯賽之王
- 益康耳穴:痤瘡究竟是什么造成的?孩子的青春痘還有沒有救?
- 投資者提問:董秘您好:特斯拉人形機器人是否會運用NPL專精術?貴司在NPL專精...
- LDK+多功能宅,85㎡奶油風、清新、原木、多功能
- 萊斯克:光喊口號沒表現是沒用的,其他球隊想奪冠也要靠拜仁丟分
- 投資者提問:請問公司有沒有在東南亞建廠的決意,從而提高出口的競爭力。謝謝。
- 顯卡真的便宜!但買了礦卡的概率超高,電腦整機買了不得