是否可以在没有 MFC 的情况下使用 CListCtrl
Posted
技术标签:
【中文标题】是否可以在没有 MFC 的情况下使用 CListCtrl【英文标题】:Is it possible to use CListCtrl without MFC 【发布时间】:2016-04-04 11:21:25 【问题描述】:我想在我的 Win32 项目中使用 CListCtrl。我曾尝试将 MFC 添加到我的项目中,但失败了。我只需要 CListCtrl。我能以某种方式只添加没有整个 MFC 的 CListCtrl。
【问题讨论】:
它是 ListView 控件的包装器。你可以在没有 MFC 的情况下使用它。在资源编辑器的对话框中添加一个,或调用 CreateWindow。 使用 ListView 我有问题如何插入多列。现在要向 ListView 添加一些内容,我使用 SendMessage(listBox, , ,); @NikolaGaić 你在我的回答中看到链接了吗?你有 ListView_InsertColumn,msdn.microsoft.com/en-us/library/windows/desktop/… 【参考方案1】:CListCtrl
类只是标准 Win32 ListView control 的包装,您可以在没有 MFC 的情况下使用它。 MFC 源在此源路径中可用:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc
对于没有 MFC 的 ListView 编码,请参阅ListView documentation。
或者您可以考虑使用其他库,例如 WTL。
【讨论】:
Tnx,这是我需要的信息。我认为它们是不同的控件。【参考方案2】:您需要使用适当的函数或方法来更改列表控件的行为,以便显示多个列。将CListCtrl::SetView 与LV_VIEW_DETAILS
一起使用。
您也可以使用具有相同值的LVM_SETVIEW 。
如果您使用 Visual Studio 的对话框编辑器(MFC 或 Win32),您只需更改 View 属性即可。
【讨论】:
以上是关于是否可以在没有 MFC 的情况下使用 CListCtrl的主要内容,如果未能解决你的问题,请参考以下文章
Visual C++/MFC:让日文字符在没有 UNICODE 的情况下工作
有没有办法在不使用(MFC)动态对象创建的情况下在 CSplitterWnd 中创建视图?
有没有办法在不使用 /UNICODE 编译的情况下使用 MFC 的 CEdit 函数“ShowBalloonTip”?