作者chinoyan (chino)
看板Visual_Basic
标题Re: [VB6 ] 如何确定视窗的工具列高度
时间Wed Feb 17 21:04:41 2010
※ 引述《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