MFC Launch 第一篇

 MFC UI界面向來都是步驟一樣,先從OnInitDialog到OnPaint,中間的OnEraseBkgnd,DestoryWindow函數等等,這裏就不多寫了,今天學到的東西是窗口的滑動,消息響應的順序是從OnLButtonDown到OnMouseMove最後是OnLButtonUp。

具體的做法是在OnLButtonDown中記下最新落點的位置m_LButtonDownPoint,點擊CPANButton的時候注意改變CPANButton的背景,m_bInSide這個變量表示是否跳到另一個操作界面,注意是跳到!不是滑動的頁面!利用rtOutSideBtn[InSideBtnSide].PtInRect(point)判斷是否觸碰到按鈕,然後利用BitBlt函數將之前寫好的頁面刷出來,就跳到另一個頁面了。
最重要的是在OnMouseMove函數中,MoveButton函數判定鼠標點擊在下盤部分時,移動所有按鈕!若向左移動多少,就讓按鈕移動多少。
接下來的操作時在OnLButtonUp裏面看是不是滑動到另一頁去,這裏要先判斷向左還是向右滑的,m_TotalMoveDistance>0,表示向右拖,繼續調用MoveButton函數,將所有按鈕移動800-已經移動的值,這樣所有的按鈕相當於移動了800,也就是整個頁面被替換了!
以前有一個誤區,以爲MoveWindow函數的參數是個CRect,原來是左邊,頂部,寬度和高度,明天任務是寫一個滑動的listBox。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章