• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

一个显示树状目录的组合框类

发布: 2007-7-01 20:40 | 作者: admin | 来源: | 查看: 92次 | 进入软件测试论坛讨论

领测软件测试网



让组合框具有树状目录的显示功能,这个类比较有用的。
void CTreeCombo::DisplayTree()
{
CRect rect(0,0,200,200);

CalculateDroppedRect (&rect);

m_Tree.InitDisplay ();

m_Tree.SetWindowPos (&wndNoTopMost, rect.left, rect.top,
         rect.Width (), rect.Height (), SWP_SHOWWINDOW );

m_BeginPath = m_Tree.GetCurrentTreePath ();

SetDroppedState (TRUE);
}

BOOL CTreeCombo::CreateTree ()
{
CWnd* pParent = GetParent ();
if (!pParent && pParent->GetSafeHwnd ())
{
return FALSE;
}

CRect treeRect (0,0, m_ComboWidth, m_ComboHeight);

//can@#t have a control Id with WS_POPUP style
  if (! m_Tree.CreateEx ( 0,
          WC_TREEVIEW, NULL,
  WS_POPUP | WS_BORDER | TVS_SINGLEEXPAND | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS,
treeRect, pParent, 0, NULL))
{
return FALSE;
}


return TRUE;
}

BOOL CTreeCombo::CreateEdit ()
{
if (!m_DropDownButton.GetSafeHwnd ())
{
return FALSE;
}

CRect clientRect;
GetClientRect (&clientRect);

CRect btnRect;
m_DropDownButton.GetWindowRect (&btnRect);
ScreenToClient (&btnRect);

CRect editRect;
editRect.left = clientRect.left;
editRect.top = clientRect.top;
editRect.bottom = clientRect.bottom;
editRect.right = btnRect.left;


BOOL bCreate = m_Edit.Create (WS_CHILD | WS_TABSTOP | ES_LEFT | WS_VISIBLE | ES_WANTRETURN, editRect, this, IDC_COMBOTREE_EDIT);

if (bCreate)
{
CWnd* pParent = GetParent ();
CFont* pFont = pParent->GetFont ();
m_Edit.SetFont (pFont);
}

return bCreate;
}

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网