[問題] mfc視窗移動事件

看板C_and_CPP (C/C++)作者 (runky)時間15年前 (2010/09/09 17:13), 編輯推噓0(0011)
留言11則, 3人參與, 最新討論串1/2 (看更多)
各位大大,小弟最近在學習mfc 有一點觀念不清楚的地方想請教版上的大大 希望各位大大是否覺得這樣的觀念是正確的 目前在寫一個功能, /////////////////////////////////// 1.按下按鈕,會開啟一個新視窗,把圖秀出來 2.當新視窗移動時,會執行repaint的動作 /////////////////////////////////// 針對第一項,小弟寫在doc/view的view.cpp CClientDC *pDC; pDC= (CClientDC *)new_window->GetDC(); HDC hDC= pDC->GetSafeHdc(); new_window->ShowWindow(SW_SHOW); picture.DrawToHDC(hDC,&rect(範圍)); 這個可以成功秀出來,只是不曉得為什麼是先show window在draw 而不是先draw在show window 而目前第二項,有點不懂的地方是 我開出了一個新視窗,但是不知道要怎麼觸發新視窗移動時的事件 之前有試過OnWindowPosChanging這個事件 只是不知道用法上有錯誤的感覺,一直試不出來 不知道版上大大有什麼作法可以實現這個功能呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.76.160

09/09 18:42, , 1F
Invalidate(); ?
09/09 18:42, 1F

09/09 21:43, , 2F
個人覺得OnDraw有寫正常的話, 移動視窗自動就會重繪了
09/09 21:43, 2F

09/10 09:43, , 3F
大大, 試了一下,發現他是主視窗變動時會OnDraw,可是新視窗變
09/10 09:43, 3F

09/10 09:44, , 4F
動時, 不會OnDraw,有沒有方式可以判斷新視窗移動給予重繪
09/10 09:44, 4F

09/11 19:59, , 5F
每個視窗應該都有各自的OnDraw吧...
09/11 19:59, 5F

09/11 20:00, , 6F
你應該是想做一份文件對應多個View(SingleDoc/MultiView)
09/11 20:00, 6F

09/11 20:00, , 7F
是嗎?
09/11 20:00, 7F

09/13 09:11, , 8F
沒錯,目前的問題有點像是我用WIN32API開出新視窗,可是卻不能
09/13 09:11, 8F

09/13 09:12, , 9F
對這個新視窗例如偵測其移動而重畫此視窗~~
09/13 09:12, 9F

09/13 10:42, , 10F
大大,後來我在主視窗的OnDraw加上Invalidate();就可以了
09/13 10:42, 10F

09/13 10:42, , 11F
多謝兩位大大地幫忙~~~X
09/13 10:42, 11F
文章代碼(AID): #1CYAKTc0 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1CYAKTc0 (C_and_CPP)