删除listviewgroup中的选择突出显示?

时间:2013-02-07 05:23:14

标签: winforms visual-c++ listview

当您将鼠标悬停在我的某个列表视图组上时会发生这种情况:http://localhostr.com/file/930/vtdFrMNdvDwz/Untitled.png

我在msdn网站上研究过System :: Windows :: Forms :: ListViewGroup,并且没有提供与如何禁用组/点击事件选择相关的结果。

列表视图和组是使用visual studio 2010 vc ++ windows窗体中的设计器制作的,并自动生成此代码:

System::Windows::Forms::ListViewGroup^  listViewGroup5 = (gcnew System::Windows::Forms::ListViewGroup(L"Player", System::Windows::Forms::HorizontalAlignment::Center));

我目前正在使用以下代码覆盖我的表单的WndProc,我假设我的解决方案的答案是也会覆盖列表视图的WndProc,如果是这种情况,我将如何将它组合成1段代码......如果没有,那将是什么解决方案?

protected:
    virtual void WndProc(Message% m) override 
    {
        __super::WndProc(m);
        if (m.Msg == WM_NCHITTEST) 
        {
            switch ((int)m.Result) 
            {
            case HTLEFT: 
            case HTRIGHT: 
            case HTTOP: 
            case HTTOPLEFT: 
            case HTTOPRIGHT:
            case HTBOTTOMLEFT: 
            case HTBOTTOMRIGHT:
                m.Result = (IntPtr)HTCLIENT;
            }
        }
    }

谢谢!

1 个答案:

答案 0 :(得分:0)

Better ListView ExpressBetter ListView控件已经实现了这一点。只需致电:

betterListView.GroupHeaderBehavior = betterListView.GroupHeaderBehavior & ~BetterListViewGroupHeaderBehavior.MouseHighlight;

关闭群组标题突出显示。

还有其他组标题选项:鼠标焦点,键盘焦点和组选择。