为ListBox控件添加水平滚动条(一)

2012-11-04 15:19:30 · 作者: · 浏览: 409



  Win32的标准控件之中,列表控件(ListBox)并没有和列表视图(ListView)一样提供水平滚动条,所以如果列表项的长度超过列表的宽度的话,那么超出的部分将无法显示。在本文中我将以一个简单的例子来说明如何使用SDK来解决这一问题,在这个例子中,我将为一个列表控件添加100行如下格式的文本:



  This is a very very very very very long sentence - line 1
  This is a very very very very very long sentence - line 2
  ……

  这段添加文本的代码为:

case WM_INITDIALOG:
{
 int i;
 TCHAR str[100];
 for(i = 0; i < 100; i++)
 {
  wsprintf(str, "This is a very very very very very long sentence - line %d", i + 1);
  SendDlgItemMessage(hDlg, IDC_LIST, LB_ADDSTRING, 0, (LPARAM)str);
 }
}
break;

  当然,在添加水平滚动条之前,就是下图这样的效果: