1

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

我在 msdn 网站上研究了 System::Windows::Forms::ListViewGroup 并没有找到与如何禁用组选择/单击事件相关的结果。

listview和groups是用visual studio 2010 vc++ windows窗体中的设计器制作的,并自动生成以下代码:

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

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

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;
            }
        }
    }

谢谢!

4

1 回答 1

0

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

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

关闭组标题突出显示。

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

于 2013-02-07T19:55:18.777 回答