我有一个纯粹的Winapi应用程序需要一些新功能。其中一个最好实现为两个列表,您可以在列表之间拖放(多个)元素。新功能可以限制为单个对话框。
实施此操作的最快方法是什么? 一些想法:
应避免的任何选项?
有什么更好的想法吗?
什么是最快的实施?
有关如何入门的任何指示?
答案 0 :(得分:7)
我的建议是,如果应用程序是纯粹的winapi,请保持这种方式。
只为一个带有可拖动项目的对话框启动.NET框架运行时与托管WebBrowser控件和使用JQuery实现这一功能一样糟糕 - 如果你问我,那至少是thedailywtf.com值得的(但话又说回来了) “不要问我;))。
否则你会把自己(可能还有其他人)置于一些可维护性的噩梦中,最快捷的方式将成为最有问题的方法。
编辑:也许those two文章有助于实现拖放功能 - 它们是关于ListViews中的行重新排序,但可能有助于实现这一想法。
答案 1 :(得分:5)
Raymond Chen不久前写了一系列关于这个主题的博客文章。开始here。
答案 2 :(得分:2)
在Win32 api中执行此操作后的一些注意事项:
ListBox控件不支持拖放。它必须是ListView控件。
这CodeProject article非常好。 (谢谢macbirdie)
ListViews的MSDN部分当然非常有用。
答案 3 :(得分:0)
所有代码都在C和win32 api的MSDN中 只需复制粘贴。
看专业的Win32 api ng 新闻://194.177.96.26/comp.os.ms-windows.programmer.win32 所有这些已经讨论了几十年......
答案 4 :(得分:-1)
您最熟悉的方法是最快的方法。
当然,在.NET Windows Forms中执行此操作非常容易。只需编写几行代码,就可以轻松地在ListBox条目之间拖放项目。请查看CodeProject之类的样本。