- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我们可以为特定的树项添加图标吗?
我正在使用以下函数添加带有图标的项目:
HTREEITEM InsertItem(LPCTSTR lpszItem,int nImage,int nSelectedImage,HTREEITEM hParent = TVI_ROOT,HTREEITEM hInsertAfter = TVI_LAST);
要跳过某个项目的图标,我为 nImage
和 nSelectedImage
使用了 -1 值。通过这样做,图标不会出现,但空间会出现。
最佳答案
你看过 CTreeCtrl::SetItem 了吗?
最简单的是填充并传递一个 TVITEM 结构。
typedef struct tagTVITEM {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPTSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
} TVITEM, *LPTVITEM;
您将 mask
设置为 TVIF_IMAGE
并指定 iImage
值。
首先,您需要创建一个在 CTreeCtrl
期间保持有效的 CImageList
对象。您通常将它作为变量添加到类中。示例:
m_imgList.Create(IDB_BMP_CHECK_IMAGELIST, 16, 10, 0x0000FF00);
初始化后,您可以调用 CTreeCtrl::SetImageList 。示例:
m_treeCtrl.SetImageList(&m_imgList, LVSIL_SMALL);
此后您可以使用图像索引值。
关于c++ - 在 MFC 的 Tree(CTreeCtrl) 中为特定树项添加图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41354446/
有没有办法获取CTreeCtrl中项目的位置(索引)? 我对特定级别的节点索引感兴趣。 我想在项目“数据”字段中维护项目位置,但问题是我的树已排序,我无法预测项目将接收的位置(好吧,只有当我提前对项目
我使用以下代码更改 CTreeCtrl 中树项的字体: void CTreeCtrlEx::OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult) {
我有办法在 CTreeCtrl 的特定节点上禁用拖放吗? 我想防止将一个节点拖到同一棵树中同一节点的子节点,并防止将一个节点拖到链接到同一节点或其子节点之一的 ListView 。 最佳答案 这仅取决
我需要保持动态添加的 CTreeCtrl 项 Serialize确实是应该做的吧?如果是,则只需要转换如何变量类型 如果不行怎么办? 序列化函数 if (ar.IsStoring()) { a
是否可以将 CTreeCtrl 样式设置为在展开时显示箭头,就像在这个图像中,而不是通常的 +/- 符号? 最佳答案 确保你有 ComCtrl v6 in your manifest在您的应用程序中启
我有一个 CTreeCtrl,我用内容填充了它。现在我想添加复选框,但只是针对某些复选框。我发现可以使用 m_Tree.ModifyStyle(0, TVS_CHECKBOXES) 激活 TreeCt
我有一个 MFC CTreeCtrl 卡在一个打开了 TVS_CHECKBOXES 样式的对话框中。我的所有树项目旁边都有复选框。在 OnInitDialog 中,我使用 CTreeCtrl::Set
首先,我将 TVS_EX_PARTIALCHECKBOXES 添加到 CTreeCtrl 的扩展样式中: TreeView_SetExtendedStyle(tree->GetSafeHwnd(),
我在运行时在 MFC 应用程序中创建了一个 TreeView ,我已经添加了几个节点,现在我想在节点的点击上做一些事情,所以我如何获得 TreeView 的点击事件? 我的代码是这样的: CTreeC
我有一个 CTreeCtrl 对象(C++、MFC)。此 CTreeCtrl 会记住最后一次选择,如果用户再次打开窗口,最后一次选择将展开并自动选择。但是当我调用 EnsureVisible 来显示最
我有一个派生自 CTreeCtrl 的类。在 OnCreate() 中,我将默认的 CToolTipCtrl 对象替换为自定义对象: int CMyTreeCtrl::OnCreate(LPCREAT
我有一个支持高 dpi 的 MFC 应用程序。该应用程序显示一个 CTreeCtrl,它可以在不同的 dpi 设置下正确绘制展开/折叠(例如 +/-)字形。这是一个 200% 的片段。 为了呈现更现代
有没有办法在展开/折叠树中的所有节点等昂贵操作期间暂停 CTreeCtrl 或其 CTreeView 的呈现?如果它没有类似 PauseRendering(TRUE) 或类似的功能,是否可以拦截绘制消
(VS2008,MFC,功能包) 使用 CTreeCtrl,当控件失去焦点时,我需要“更好地”突出显示所选项目。 我的树是使用资源编辑器中的“TVS_SHOWSELALWAYS”选项创建的,但颜色不够
我必须递归地向树控件中的项目添加子键列表。我正在使用 InsertItem,如下所示。我附加了此元素的路径,以便在单击树控件时可以检索。我可以添加该值但无法检索它。 void CMyDlg::Fill
我有 MyCTreeCtrl 类,我想添加如下消息处理程序: void MyCTreeCtrl::OnBegindrag(NMHDR *pNMHDR, LRESULT *pResult) { } 中间
我有一个 CDockablePane,它包含一个基于 CTreeCtrl 的自定义控件。 当我移动 CDockablePane 时,所有内容都会正确刷新。当我调整 CDockablePane 的大小时
我有一个具有 CTreeCtrl 的应用程序,它显示了特定驱动器的所有文件夹,我想通过拖放来更改同一 CTreeCtrl 中文件夹的顺序。如何做呢。我已经实现了在 CTreeCtrl 中获取文件夹名称
我想要一个列表控件 (CTreeCtrl) 的背景图像。这可能吗?我该怎么做? (这是针对 Visual Studio 2008 C++ mfc 应用程序的) 最佳答案 希望this代码会帮助你。 关
我的对话框中有简单的 CTreeCtrl。它只有两个深度级别,如下所示: 想象一下,用户单击“第三”节点使其被选中,然后他按下也在对话框上的按钮并执行下一个代码: // m_tree is a dia
我是一名优秀的程序员,十分优秀!