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

翻译|其它|编辑:郝浩|2004-07-19 13:29:00.000|阅读 1760 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

让组合框具有树状目录的显示功能,这个类比较有用的。 
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; 
}


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP