6

我有一个需要一些新功能的纯 Winapi 应用程序。其中之一最好实现为两个列表,您可以在列表之间拖放(多个)元素。新功能可以限制为单个对话框。

实现这一点的最快方法是什么?一些想法:

  • 纯 Winapi(是 DetectDrag)
  • 提供此对话框的单独 MFC 或 .NET DLL
  • 嵌入 Microsoft WebBrowser 控件并使用 JQuery

应该避免这些选项中的任何一个吗?
有更好的想法吗?
什么是最快实施的?
关于如何开始的任何指示?

4

5 回答 5

9

我的建议是,如果应用程序是纯 winapi,请保持这种方式。

仅为一个带有可拖动项目的对话框启动 .NET 框架运行时与托管 WebBrowser 控件并使用 JQuery 来实现该功能一样糟糕 - 如果你问我,它至少值得 thedailywtf.com 使用(但话又说回来,你不是问我 ;) )。

否则,您会将自己(以及可能的其他人)置于一些可维护性的噩梦中,而最快的方法将成为最有问题的方法。

编辑:也许 两篇文章将有助于实现拖放 - 它们是关于 ListViews 中的行重新排序,但可能有助于获得这个想法。

于 2008-10-10T12:19:32.093 回答
5

不久前,Raymond Chen 就这个话题写了一系列博文。从这里开始。

于 2008-10-10T13:28:22.830 回答
2

在 Win32 api 中实现后的一些注意事项:

ListBox 控件不支持拖放。它必须是 ListView 控件。

这篇CodeProject 文章非常好。(感谢 macbirdie)ListViews
的 MSDN 部分当然非常有用。

于 2008-11-02T09:43:27.643 回答
0

所有代码都在 MSDN 中 C 和 win32 api 只需复制粘贴即可。

并查看专业的 Win32 api ng 新闻://194.177.96.26/comp.os.ms-windows.programmer.win32,所有这些都已经讨论了几十年......

于 2008-10-11T16:00:10.790 回答
-1

无论您最熟悉哪种方法都将是最快的。

当然,在 .NET Windows 窗体中很容易做到这一点。只需编写几行代码,您就可以轻松地在 ListBox 条目之间拖放项目。在CodeProject 之类的地方查看示例。

于 2008-10-10T09:25:12.753 回答