设为首页 加入收藏

TOP

子视窗控制项(十五)
2010-12-30 21:12:42 来源: 作者: 【 】 浏览:32664
Tags:视窗 控制
去输入焦点,而让它的某个子视窗得到输入焦点时,它将呼叫SetFocus来重新取得输入焦点。

下面是可达到相同目的、但更为简单(但不太直观)的方法:

但是,这两种方法都有缺点:它们阻止按钮对Spacebar键作出回应,因为该按钮总是得不到输入焦点。一个更好的方法是使按钮得到输入焦点,也能让使用者用Tab键从一个按钮转移到另一个按钮。这听起来似乎不太可能,在本章的後面,我们将要说明在COLORS1程式中如何用「视窗子类别化」技术来实作这种方法。

控制项与颜色
 

您可以在图9-1中看到,许多按钮的显示看起来并不正确。按键还好,但是其他按钮却带有一个本不应该在那里的一个矩形灰色背景。这是因为这些按钮本来是为对话方块中的显示而设计的,而在Windows 98中,对话方块有一个灰色的表面。我们的视窗有一个白色的表面,这是因为我们在WNDCLASS结构中就是这样定义的。

我们已经这么做了,因为我们经常在显示区域中显示文字,而GDI使用在内定装置内容中定义的文字颜色和背景颜色,它们总是黑色和白色。为了使这些按钮更加美观一些,我们必须要改变显示区域的颜色使之和按钮的背景颜色一致,所以要以某种方法将按钮的背景颜色改为白色。

解决此问题的第一步,是理解Windows对「系统颜色」的使用。

系统颜色
 

Windows保留了29种系统颜色以供各种显示使用。您可以使用GetSysColor和SetSysColors来获得和设定这些颜色。在Windows表头档案中定义的识别字规定了系统颜色。使用SetSysColors设定的系统颜色只在目前Windows对话过程中有效。

借助Windows「控制台」程式的「显示器」部分,您可以改变一些(但不是全部)系统颜色。若是Microsoft Windows NT,选中的颜色会储存在系统登录中;若是Microsoft Windows 98,则储存在WIN.INI档案中。系统登录和WIN.INI档案都为这29种系统颜色使用了关键字(与GetSysColor和SetSys

首页 上一页 12 13 14 15 16 17 18 下一页 尾页 15/61/61
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇功能表及其他资源 下一篇计时器

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: