设为首页 加入收藏

TOP

子视窗控制项(二十七)
2010-12-30 21:12:42 来源: 作者: 【 】 浏览:32801
Tags:视窗 控制

对这些样式,CreateWindow呼叫中的视窗文字栏位被忽略。矩形的左上角开始於x位置座标和y位置座标,这些座标都相对於父视窗。您也可以使用SS_ETCHEDHORZ、SS_ETCHEDVERT或者SS_ETCHEDFRAME ,采用灰色和白色建立一个形似阴影的边框。

静态类别也包括了三种文字样式:SS_LEFT、SS_RIGHT和SS_CENTER。它们建立左对齐、置右对齐和居中文字。文字在CreateWindow呼叫的视窗文字参数中给出,并且在以後可以用SetWindowText来改变它。当静态控制项的视窗讯息处理程式显示文字时,它使用DrawText函式以及DT_WORDBREAK、DT_NOCLIP和DT_EXPANDTABS参数。文字在子视窗的矩形内可以按文字进行换行。

这三种文字样式子视窗的背景通常为COLOR_BTNFACE,而文字本身是COLOR_WINDOWTEXT。在拦截WM_CTLCOLORSTATIC讯息时,您可以通过呼叫SetTextColor来改变文字颜色,通过SetBkColor来改变背景颜色,并传回背景画刷代号。後面的COLORS1程式展示了这一点。

最後,静态类别还包括了视窗样式SS_ICON和SS_USERITEM,但是当它们被用作子视窗控制项时却没有任何意义。我们在讨论对话方块时还要提及它们。

卷动列类别
 

我在第四章首次讨论了卷动列,也讨论了「视窗卷动列」和「卷动列控制项」之间的一些区别。SYSMETS程式使用视窗卷动列,它出现在视窗的右边和底部。您可以在建立视窗时通过将识别字WS_VSCROLL、WS_HSCROLL或者两者都包含在视窗样式中,让视窗加上卷动列。现在我们准备建立一些卷动列控制项,它们是能在父视窗的显示区域的任何地方出现的子视窗。您可以使用预先定义的视窗类别「scrollbar」以及两个卷动列样式SBS_VERT和SBS_HORZ中的一个来建立子视窗卷动列控制项。

与按钮控制项(以及将在後面讨论的编辑和清单方块控制项)不同,卷动列控制项不向父视窗发送WM_COMMAND讯息,而是像视窗卷动列那样发送WM_VSCROLL和WM_HSCROLL讯息。在处理卷动讯息时,您可以通过lParam参数来区分视窗卷动列与卷

OLOR_BTNSHADOW
WHITE COLOR_BTNHIGHLIGHT
首页 上一页 24 25 26 27 28 29 30 下一页 尾页 27/61/61
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇功能表及其他资源 下一篇计时器

评论

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