ProgJ 2016-02-14 03:52 采纳率: 50%
浏览 1343
已结题

MFC 做的CTreeView根项不能打开的问题

相关代码如下:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
if (!m_wndSplitter.CreateStatic(this, 1, 2))
{
return FALSE;
}
CRect rect;
GetClientRect(&rect);

m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(TreeView), CSize(rect.Width() / 3 - 170, rect.Height()), pContext);

if (!m_wndSplitter2.CreateStatic(&m_wndSplitter, 1, 2, WS_CHILD | WS_VISIBLE, m_wndSplitter.IdFromRowCol(0, 1))
    || !m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(EditView), CSize(rect.Width() / 3 - 50, rect.Height()), pContext)
    || !m_wndSplitter2.CreateView(0, 1, RUNTIME_CLASS(EditView), CSize(rect.Width() / 3, rect.Height()), pContext))
{
    return FALSE;
}
return TRUE;
//return CFrameWnd::OnCreateClient(lpcs, pContext);

}

void TreeView::OnInitialUpdate()
{
CTreeView::OnInitialUpdate();

ptheTree = &GetTreeCtrl();
ptheTree->ModifyStyle(0, TVS_HASLINES | TVS_EDITLABELS | TVS_HASBUTTONS | TVS_EDITLABELS | TVS_LINESATROOT);
TVINSERTSTRUCT tvInsert;
HTREEITEM hTreeItem;
tvInsert.hInsertAfter = TVI_LAST;//TVI_LAST;
tvInsert.hParent = TVI_ROOT;
tvInsert.item.mask = TVIF_TEXT;
tvInsert.item.pszText = "搜索引擎";
hTreeItem = ptheTree->InsertItem(&tvInsert);
tvInsert.hParent = hTreeItem;
tvInsert.item.pszText = "Google";
ptheTree->InsertItem(&tvInsert);
tvInsert.item.pszText = "Baidu";
ptheTree->InsertItem(&tvInsert);
ptheTree->Expand(hTreeItem, TVE_EXPAND); //默认为合上的TVE_COLLAPSE,打开的TVE_EXPAND

}

做出来后效果这样图片说明

但是当我点根项时并没有展开(况且我类型设置了TVE_EXPAND,应该直接是打开的啊。。),而且单击根项应该选中高亮的也没有(实际效果是高亮一下后立刻恢复了,就跟刷新了似得)。

大家帮我看看问题可能出在哪。。

  • 写回答

2条回答 默认 最新

  • threenewbee 2016-02-14 22:04
    关注

    ptheTree->Expand.Expand(hTreeItem, TVE_TOGGLE);
    试试看这样

    评论

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)