※ 引述《DGnzj (DG)》之銘言:
: 我想請問一個問題
: 小弟最近用vb6寫了一個鎖定滑鼠於某特定視窗的小軟體(套用後滑鼠不會跑出視窗外)
EZSOFT版有看到
: 不過遇上了一個問題想來這邊請教一下(orz_)
: 先說明一下,我的開發環境是VB6+XP
: 雖然自己封裝成exe自用是沒有問題,(也換過別台測過OK)
: 但有些板上的鄉民(使用win7)提出了這樣的問題
: 就是視窗的上緣高度不正確,導致玩游戲的時候沒辦法正常運作
: 用程式面的角度來講:
: 我用 Findwindow 取得了某視窗的 hWnd
: 再用 GetWindowRect 取得他的大小放在Rect裡(包含上、下、左、右的type)
: 因為這個Rect的寬度與高度會包含視窗的邊框(frame)還有標題列(menu)等...。
: 所以我會在限制之前,先將Rect扣掉這些數值,微調後才變成真正去限制的範圍大小
: 在此,針對視窗微調的部分說明如下
: With NewRect
: .Left = .Left + MySM.CXFRAME + MySM.CYBORDER
MySM.xxxxxx 怎麼來的?? 是自己寫死的大小嗎?
試看看再用API取一下系統邊框的大小來減
或者 就把MOUSE限制在包含 邊框 的大小,
這樣要移動或關閉 才方便啊
: .Top = .Top + MySM.CYMENU + (MySM.CYFRAME +MySM.CYBORDER) * 2
: .Right = .Right - MySM.CXFRAME
: .Bottom = .Bottom - MySM.CXFRAME
: End With
: 雖然自己試了是可以剛剛好,但是不是我取的只不過是剛好而以,並不是正確的數字呢?
--
████ █ ★ ████ █ █ █
█ █ █ █ █ █ 超 級 熱 烈 歡 迎
█ ████ █ █ █ ████ █
█ █ █ █ ███★ █ █ 歡迎到嘉義版!
★███ █ █ █ █ █ █ █
訊馳電腦-路徑 → 嘉義市林森西路496號 →(05)2244-526 → 順發斜對面
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.214.220