如何在win32中增加ListBox的边框/框架宽度

时间:2017-12-28 06:55:19

标签: winapi listbox

在win32应用程序中,如何增加列表框边框/框架宽度?

我想获得类似于下面给出的列表框。 Listbox Image

我在下面使用创建列表框

CRect p(7, 35, 300, 200);

DWORD  m_ListStyle =WS_CHILD|WS_VISIBLE|LBS_NOTIFY|WS_VSCROLL|WS_HSCROLL|WS_BORDER;

m_ListStyle ^= LBS_SORT;

m_ctrlListBox.Create(m_ListStyle , p, this,IDC_LIST);

m_ctrlListBox.SetFont(GetParent()->GetFont());

1 个答案:

答案 0 :(得分:0)

如果你真的想要增加边框大小而不仅仅是整体控件大小(这是标准控件将任何窗口区域没有被边框占用的位置),你将需要子类化控件并调用DwmExtendFrameIntoClientArea,你将还必须绘制该边框区域(响应WM_NCPAINT)并处理该区域中的任何鼠标点击(WM_NCHITTEST以及可能还有其他我不想的动作。