设为首页 加入收藏

TOP

四、程序中的命中测试
2012-11-05 12:26:32 】 浏览:534
Tags:程序 命中 测试

我在前面讨论了Windows Explorer如何响应鼠标的单击和双击。显然,程序(或者更精确的说,如同Windows Explorer般使用list view control)必须确定使用者鼠标所指向的是哪一个文件。

这叫做「命中测试」。正如DefWindowProc在处理WM_NCHITTEST消息时做一些命中测试一样,窗口消息处理程序经常必须在显示区域中进行一些命中测试。一般来说,命中测试中会使用x和y坐标值,它们由传到窗口消息处理程序的鼠标消息的lParam参数给出。

一个假想的例子

有这样一个例子。假设您的程序需要显示几列按字母排列的文件。通常,您可以使用list view control,他会帮您由于要做全部的命中测试工作。但我们假设您由于某种原因而不能使用,这时就需要自己来做了。让我们假定文件名保存在称为szFileNames的已排序字符串指针数组中。

让我们也假定文件列表开始于显示区域的顶端,显示区域为cxClient图素宽,cyClient图素高,每列为cxColWidth图素宽,每个字符高度为cyChar图素高。那么每栏可填入的文件数就是:

iNumInCol = cyClient / cyChar ;        
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇四、程序中的命中测试—使用键盘.. 下一篇三、Windows鼠标操作之非显示区域..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目