词条 | 清单方块样式 |
释义 | 清单方块样式当您使用CreateWindow建立清单方块子视窗时,您应该将「listbox」作为视窗类别,将WS_CHILD作为视窗样式。但是,这个内定清单方块样式不向其父视窗发送WM_COMMAND讯息,这样一来,程式必须向清单方块询问其中的项目的选择状态(借助於发送给清单方块控制项的讯息)。所以,清单方块控制项通常都包括清单方块样式识别字LBS_NOTIFY,它允许父视窗接收来自清单方块的WM_COMMAND讯息。如果您希望清单方块控制项对清单方块中的项目进行排序,那么您可以使用另一种常用的样式LBS_SORT。 内定情况下,清单方块是单项选择的。多项选择的清单方块相当少。如果您想建立一个多项选择清单方块,那么您可以使用样式LBS_MULTIPLESEL。通常,当给有卷动列的清单方块增加新项目时,清单方块本身会自己重画。您可以通过将样式LBS_NOREDRAW包含进去来防止这种现象。但是您也许不想使用这种样式,这时可以使用WM_SETREDRAW讯息来暂时防止清单方块控制项重新画过,我将在稍後讨论WM_SETREDRAW讯息。 内定状态下,清单方块视窗讯息处理程式只显示列表项目,它的周围没有任何边界。您可以使用视窗样式识别字WS_BORDER来加上边界。另外,您可以使用视窗样式识别字WS_VSCROLL来增加垂直卷动列,以便用滑鼠来卷动列表项目。 window下的清单方块样式Windows表头档案定义了一个清单方块样式,叫做LBS_STANDARD,它包含了最常用的样式,其定义如下: (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER) 您也可以采用WS_SIZEBOX和WS_CAPTION识别字,但是这两个识别字允许您重新定义清单方块的大小,也允许您在清单方块父视窗的显示区域中移动清单方块。 清单方块的宽度应该能够容纳最长字串的宽度加上卷动列的宽度。您可以使用: GetSystemMetrics (SM_CXVSCROLL) ; 来获得垂直卷动列的宽度。您用一个字元的高度乘以想要在视埠中显示的项目数来计算出清单方块的高度。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。