LIST box滚动条
时间: 2023-10-30 22:04:57 浏览: 60
您可以通过在LIST box上设置滚动条属性来实现滚动条功能。
在C++中,您可以使用以下代码创建一个带有滚动条的LIST box:
```cpp
HWND hListBox = CreateWindow("LISTBOX", NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | LBS_NOTIFY,
x, y, width, height, hWndParent, (HMENU)ID_LISTBOX, hInstance, NULL);
```
在上面的代码中,我们使用了`WS_VSCROLL`风格来启用垂直滚动条。您可以根据需要调整其他风格和参数。
要向LIST box中添加项目,可以使用`SendMessage`函数:
```cpp
SendMessage(hListBox, LB_ADDSTRING, 0, (LPARAM)"Item 1");
SendMessage(hListBox, LB_ADDSTRING, 0, (LPARAM)"Item 2");
// 继续添加其他项目
```
通过将消息`LB_ADDSTRING`发送到LIST box的窗口句柄,我们可以将字符串添加为新的列表项。
希望这可以帮助到您!如果您有更多问题,请随时提问。
相关问题
设置了box-sizing: border-box; 为什么还有滚动条
滚动条出现的原因可能是由于设置了box-sizing: border-box;后,元素的宽度超过了其父容器的宽度。引用中提到的情况可能是因为在侧边栏收起时,元素的宽度变小,而父容器的宽度没有相应地调整,导致出现了横向滚动条。
解决这个问题的方法是给出现横向滚动条的那一层盒子元素设置overflow-x: hidden,即引用中提到的方法。这样可以隐藏横向滚动条,并确保元素在不改变父容器宽度的情况下适应其内部内容的宽度。
此外,还需要注意引用中提到的框的总宽度计算方式,即width + padding-right + padding-left + border-right + border-left。如果在元素的宽度计算中没有正确考虑这些属性,也可能导致滚动条的出现。
综上所述,设置了box-sizing: border-box;并不保证完全避免滚动条的出现,还需要确保元素的宽度不超过其父容器的宽度,并正确计算框的总宽度。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [一个box-sizing: border-box和felx混合使用中遇到的问题](https://blog.csdn.net/weixin_30251829/article/details/99976811)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [从box-sizing:border-box属性入手,来了解盒模型](https://blog.csdn.net/qq_26780317/article/details/80736514)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
css设置列表元素竖向排列2行横向宽度不定超出则显示滚动条
在CSS中,要实现列表元素竖向排列成两行,并且超出部分显示滚动条,可以通过结合几个CSS属性来完成。以下是一个基本的方法:
1. 将列表元素(如`ul`或`div`)设置为弹性布局(`display: flex;`)。
2. 使用`flex-wrap: wrap;`属性使其子元素(如`li`)能够在容器宽度范围内自动换行。
3. 对于竖向排列两行的要求,可以通过设置容器的高度(`height`)和子元素的宽度来控制。
4. 对于超出部分显示滚动条的要求,可以通过设置容器的`overflow-y`属性为`scroll`来实现垂直滚动条。
以下是一个示例CSS代码:
```css
ul {
display: flex;
flex-wrap: wrap;
list-style: none;
height: 200px; /* 设置容器高度为两行高度 */
padding: 0;
margin: 0;
}
ul > li {
width: 50%; /* 每个子元素宽度为容器宽度的50% */
box-sizing: border-box; /* 盒模型为border-box,防止padding和border影响宽度 */
padding: 10px;
height: 100px; /* 子元素高度为单行高度 */
}
ul {
overflow-y: scroll; /* 设置垂直滚动条 */
}
```
HTML结构如下:
```html
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
<!-- 更多列表项 -->
</ul>
```
需要注意的是,这里的高度和宽度是根据具体的列表项内容和样式来调整的,实际应用时可能需要根据实际情况进行调整。