用键盘操作静态链接打开应用程序中的URLs
2006-07-23 11:20:37 来源:WEB开发网核心提示: 然而,现在 CStaticLink 被赋予了鼠标单击能力,用键盘操作静态链接打开应用程序中的URLs(2),所以要求 Tab 属性也是合情合理的,用户界面的一个最重要的原则(请注意了,这个函数有着极好的使用 XOR 光栅操作特性,所以第二次调用它便擦除焦点矩形,伙计)是:无论用户能用鼠标做
然而,现在 CStaticLink 被赋予了鼠标单击能力,所以要求 Tab 属性也是合情合理的。用户界面的一个最重要的原则(请注意了,伙计)是:无论用户能用鼠标做什么,那么也必须能用键盘做。这样不仅仅对象我这种惯于使用键盘的人友好,而且也方便习惯使用鼠标的人,以防鼠标线断掉。也许你的用户使用无线鼠标,但鼠标电池在凌晨1:00点耗尽,报告要在当日早晨一上班提交——当你知道用键盘也能完成工作,那岂不是一件很棒的事情吗。
所以第一件事情是让静态链接具备 Tab Stop 属性,在资源文件中添加 WS_TABSTOP 即可,或者在 Visual Studio .NET 中将控件的 Tabstop 属性置为 True(如图一所示)。
Figure 1 设置静态链接的 Tab Stop 属性
一旦你设置了控件的 Tab Stop 属性,对话框运行时,用户便能用 Tab 键操作它。现在唯一的问题是当用户这样做的时候,什么也不发生。没有任何可视迹象表示控件具有了输入焦点。如果你用Tab操作一个编辑框控件,它会显示一个一闪一闪的光标。如果是列表框,Windows 会在第一项周围画一个点状矩形虚线,如果是按钮,那么 Windows 会在按钮内画一个焦点矩形。但 CStaticLink 什么都不做。
所以我必须添加一些可视化提示以告诉用户“你在这里”。对于超链接来说就是锚点(<A> 元素),IE 浏览器是在链接文本周围画焦点矩形。那为什么不如法炮制呢?尤其是 Windows 有一个很方便的函数叫做(说来也奇怪)DrawFocusRect,这个函数有着极好的使用 XOR 光栅操作特性,所以第二次调用它便擦除焦点矩形。当你的控件获得焦点时绘制焦点矩形;失去焦点时擦除之。关键代码如下:
- ››键盘样式风格有关设置
- ››静态照片完美合成 美图秀秀幻影动感效果
- ››操作系统资源不足两种方案解决办法
- ››操作DHTML表格的C++对象
- ››操作微软文档的JAVA api项目:Apache POI 3.6发布...
- ››操作系统拾遗之进程和线程
- ››键盘流必备 - Windows 7常用快捷键整理之基础篇
- ››键盘流必备 - Windows 7常用快捷键整理之WIN键篇
- ››键盘流必备 - Windows 7常用快捷键整理之任务栏篇...
- ››键盘流必备 - Windows 7常用快捷键整理之资源管理...
- ››键盘极客 - 使用组合键来关闭Windows 7
- ››操作系统还原:你需要明白的几件事
更多精彩
赞助商链接