CListControl 两个小疑点

CListControl 两个小问题

问题一:插入一列,且使得该列占满整个控件,请问如何插入才可以达到这个要求,注意,控件有滚动条;
问题二:我是动态创建该控件的,我需要有滚动条,仅仅希望该滚动条出现在控件右边,但是控件底部也出现了滚动条,这是不希望的。请问如何才可以去掉底部的滚动条,或者在创建过程中,需要什么属性。

假如您知道其中任何一个问题的答案,希望不吝赐教,谢谢!!!

------解决方案--------------------

RECT rcList;
GetWindowRect(hListCtrl, &rcList);

LVCOLUMN* lpLVColumn = new LVCOLUMN;
memset(lpLVColumn, 0, sizeof(LVCOLUMN));
lpLVColumn->mask = LVCF_TEXT 
------解决方案--------------------
 LVCF_FMT 
------解决方案--------------------
 LVCF_WIDTH;
lpLVColumn->fmt = LVCFMT_LEFT;
lpLVColumn->cx = rcList.right - rcList.left;
lpLVColumn->pszText = _T("Column1");
ListView_InsertColumn(hListCtrl, 0, lpLVColumn);

------解决方案--------------------
插入列后设置一下自动列宽。
SetColumnWidth(index, LVSCW_AUTOSIZE_USEHEADER);
------解决方案--------------------
第二个问题用下面两个函数试试。
InitializeFlatSB                                           
FlatSB_EnableScrollBar

------解决方案--------------------
1. 创建 Listview 控件(MFC:CListCtrl),并设置样式 LVS_NOCOLUMNHEADER(无列头),插入一空列。
2. 当通过 WM_NOTIFY 消息收到 LVN_INSERTITEM 通知时,获取客户区大小(GetClientRect),获取滚动条宽度(GetSystemMetrics(SM_CXVSCROOL)),设置第一页 Column(也只有这一个)的宽度为客户区宽度减去滚动条宽度即可。
3. 当收到 WM_SIZE 消息的时候,设置宽度,操作同上。
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

第二个问题用下面两个函数试试。
InitializeFlatSB                                           
FlatSB_EnableScrollBar

谢谢,我试一试。

发现不会用啊,百度不到这两个函数的定义啊

http://msdn.microsoft.com/en-us/library/windows/desktop/bb775443(v=vs.85).aspx
------解决方案--------------------
上面说错了,不用减去滚动条宽度,那个获取的客户区大小就是除去滚动条的。