C++ 在C+中使用ListView+;

C++ 在C+中使用ListView+;,c++,listview,mfc,visual-studio-2005,C++,Listview,Mfc,Visual Studio 2005,我有一个关于ListView控件使用的愚蠢问题。 我在VS2005中创建了一个Windows窗体应用程序。不,我从工具箱中拖动了一个ListView控件。我想实现我的代码来显示一些内容(包括列和行)。 我知道一点MFC的知识。我不确定我必须学习过去的MFC CListCtrol知识才能实现我的应用程序,或者我可以简单地学习System.Windows.Forms::ListView 我发现了一个使用ListView的很好的示例(但是是用C#编写的)。在VS2005中,我能把C代码的样本代码翻译成

我有一个关于ListView控件使用的愚蠢问题。 我在VS2005中创建了一个Windows窗体应用程序。不,我从工具箱中拖动了一个ListView控件。我想实现我的代码来显示一些内容(包括列和行)。 我知道一点MFC的知识。我不确定我必须学习过去的MFC CListCtrol知识才能实现我的应用程序,或者我可以简单地学习
System.Windows.Forms::ListView

我发现了一个使用ListView的很好的示例(但是是用C#编写的)。在VS2005中,我能把C代码的样本代码翻译成C++吗?如果可以的话。你能给我一些建议吗

using System;
using System.Windows.Forms;
using System.Drawing;

public class ListView1 : Form {
  ListView listView = new ListView();

  public ListView1() {
    listView.Dock = DockStyle.Fill;
    PopulateListView();
    this.Controls.Add(listView);
    this.ClientSize = new Size(400, 200);
  }


  private void PopulateListView() {
    // Set the view to show details.
    listView.View = View.Details;

    // Add columns
    listView.Columns.Add("Author", 
                         -2, 
                         HorizontalAlignment.Center);
    listView.Columns.Add("Title", 
                         -2, 
                         HorizontalAlignment.Left);
    listView.Columns.Add("Price", 
                         -2, 
                         HorizontalAlignment.Left);

    // Add items
    ListViewItem item1 = new ListViewItem("Steve Martin");
    item1.SubItems.Add("Programming .NET");
    item1.SubItems.Add("39.95");

    ListViewItem item2 = new ListViewItem("Irene Suzuki");
    item2.SubItems.Add("VB.NET Core Studies");
    item2.SubItems.Add("69.95");

    ListViewItem item3 = new ListViewItem("Ricky Ericsson");
    item3.SubItems.Add("Passing Your .NET Exams");
    item3.SubItems.Add("19.95");

    // Add the items to the ListView.
    listView.Items.AddRange(
                            new ListViewItem[] {item1, 
                                                item2, 
                                                item3}
                            );
  }

  public static void Main() {
    ListView1 form = new ListView1();
    Application.Run(form);
  }
}

实际上,实现ListView不需要那么多MFC知识。在.NET下的C++(用外文术语表示WiFrm应用程序),几乎可以无缝地将C代码转换成C++。如果我正确地理解了你的问题,你需要做的是确定C++中如何访问对象和属性,如果你正在开发一个WiFrm应用程序。就像在C++中,如果你有Objut.Fuffic,在C++中你可能需要写对象::函数,这只是一个例子。当然,您需要更深入的知识才能无缝运行。

我认为我在设计阶段犯了一个错误。我想用VS2005创建一个应用程序。应用程序必须包含一些GUI表单。这就是我创建WinForm应用程序的原因。但我认为该应用程序必须能够在一些有或没有.NET的计算机上运行。基于这个需求,我想我必须用MFC应用程序模板来创建一个新的应用程序,而不是我的Win表单应用程序。@ Nano,听起来好像你已经在C++中创建了.NET应用程序,当然它将取决于安装的.NETFramework。我认为您需要将应用程序重新创建为MFC是正确的,但我会选择将MFC静态链接到应用程序中,而不是在MFC DLL上创建另一个依赖项。@Mark Ransom。谢谢你的建议。我正在用谷歌搜索将MFC静态链接到应用程序中。:-)@Nano,Mark Ransom是对的,只是静态链接MFC是正确的选择。所有依赖项最终都将被分组到项目中,而不是稍后提供单独的文件来删除程序将要部署的依赖项问题。