【发布时间】:2011-07-08 06:06:53
【问题描述】:
好的,所以我的 Windows 应用程序包含一个窗口,其中包括一个窗格中的对象列表。每个对象都有 8 个需要确定的布尔值——所以我想要一个对象列表,后面有八列复选框。我没有使用 MFC,应该是相关的。
ListView 看起来符合我的要求,但显然它不接受 SubItems 中的复选框(LVS_EX_CHECKBOXES 样式仅在左侧为每一行提供一个复选框)。
因此,我需要一种 确实 允许这样做的 ListView 替代方案。我一直在寻找,但我发现似乎没有任何效果。
我看到了对一些DataGridView 控件的引用,但我不认为这是我的 Visual Studio 2010“工具箱”中的一个选项——如何访问它,它甚至可用于非 MFC C++ 项目吗?大多数对它的引用似乎是针对 VB 或 C#。
我发现的另一件事是custom ListView,但它似乎是针对 C# 而不是 C++。如果有一种与 C# 对话交互的简单方法(我完全不熟悉 C#),我当然会接受有关如何在我的代码中使用此资源的建议。
无论如何,任何人的任何想法、建议或提示都将不胜感激!
编辑:这可能应该进入一个新问题,但它本身似乎并不值得一个完整的问题:MFC 似乎对这种事情有更多的支持(只要我可以找到下载的大多数自定义控件都是用于 MFC 的)。我的项目实际上并不要求是非 MFC,目前它只是 是。我需要做多少工作才能转换它?
【问题讨论】:
-
DataGridView 是 .net,因此无论是普通的 Win32 还是 MFC,您都不会在任何 Win32 项目中看到它。您可能需要某种自定义控件,找到网格控件可能是最简单的,因为周围有很多这样的控件,因为它们往往比列表视图更灵活。您正在使用什么 UI 工具包(如果有)?如果您不使用 MFC,您在 VS 工具箱中寻找什么?
-
在 Visual Studio 的“资源视图”中,我可以使用所见即所得的编辑器制作我的窗口;在右侧有一个“工具箱”,其中包含我可以拖放到窗口中的各种控件。这不需要 MFC;我可以通过普通的 Windows 消息系统与它进行交互。无论如何,有没有人知道一个好用的网格控件?
-
啊,我忘了资源对话框编辑器了。谢谢。
-
顺便说一句,从个人经验来说,这不是一个很好的用户界面。
-
@Luke:嗯,你有什么建议?我需要向用户公开的每个项目有 8 个布尔值,这可能是一个冗长的项目列表。当然,它不会很好用,但我真的想不出更好的设计方法。想法?
标签: c++ windows visual-studio-2010 listview checkbox