C++ TreeView_Expand函数代码示例
本文整理汇总了C++中TreeView_Expand函数的典型用法代码示例。如果您正苦于以下问题:C++ TreeView_Expand函数的具体用法?C++ TreeView_Expand怎么用?C++ TreeView_Expand使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了TreeView_Expand函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TreeView_Expand
▲ 点赞 6 ▼
HTREEITEM FileBrowser::createNewFolder(HTREEITEM hTreeItem, const TCHAR *folderName)
{
HTREEITEM addedItem = _treeView.addItem(folderName, hTreeItem, INDEX_CLOSE_NODE);
TreeView_Expand(_treeView.getHSelf(), hTreeItem, TVE_EXPAND);
TreeView_EditLabel(_treeView.getHSelf(), addedItem);
if (getNodeType(hTreeItem) == browserNodeType_folder)
_treeView.setItemImage(hTreeItem, INDEX_OPEN_NODE, INDEX_OPEN_NODE);
return addedItem;
}
开发者ID:fixfelix,项目名称:notepad-plus-plus,代码行数:11,代码来源:fileBrowser.cpp
示例2: wbSetTreeViewItemState
▲ 点赞 5 ▼
BOOL wbSetTreeViewItemState(PWBOBJ pwbo, HTREEITEM hItem, BOOL bExpand)
{
if(!pwbo || !pwbo->hwnd || !IsWindow(pwbo->hwnd))
return FALSE;
if(!hItem)
return FALSE;
// return TreeView_Expand(pwbo->hwnd, hItem, TVE_TOGGLE);//bExpand ? TVE_EXPAND : TVE_COLLAPSE);
return TreeView_Expand(pwbo->hwnd, hItem, bExpand ? TVE_EXPAND : TVE_COLLAPSE);
}
开发者ID:haithembenali,项目名称:WinBinder,代码行数:11,代码来源:wb_control_treeview.c
示例3: CATRESULT
▲ 点赞 3 ▼
CATResult CATTreeCtrl::ExpandItem(CATTREEINFO* item, bool expand)
{
if (item == 0)
{
return CATRESULT(CAT_ERR_INVALID_PARAM);
}
::ShowWindow(fControlWnd,SW_HIDE);
TreeView_Expand(fControlWnd, item->ItemHandle, expand?TVE_EXPAND:TVE_COLLAPSE);
::ShowWindow(fControlWnd,IsVisible()?SW_SHOW:SW_HIDE);
return CAT_SUCCESS;
}
开发者ID:michaelellison,项目名称:Mike-s-Demo-App,代码行数:12,代码来源:CATTreeCtrl_Win32.cpp
示例4: TreeView_ExpandRecursively
▲ 点赞 1 ▼
static void TreeView_ExpandRecursively(HWND hTree, HTREEITEM hItem, UINT flag, bool subtree=false)
{
while (hItem) {
TreeView_Expand(hTree, hItem, flag);
HTREEITEM child = TreeView_GetChild(hTree, hItem);
if (child)
TreeView_ExpandRecursively(hTree, child, flag);
if (subtree)
break;
hItem = TreeView_GetNextSibling(hTree, hItem);
}
}
开发者ID:AnthonyLu-Ista,项目名称:sumatrapdf,代码行数:12,代码来源:TableOfContents.cpp
示例5: ExpandNode
▲ 点赞 1 ▼
bool ExpandNode(_Ty Key, UINT fMask) {
HTREEITEM hItem = KeyToHandle(Key);
if (NULL != hItem) {
return WND_TRUE(TreeView_Expand(m_hWnd, hItem, fMask));
}
return false;
}
开发者ID:ryanlederman,项目名称:wlib,代码行数:12,代码来源:treeview.hpp
示例6: CONTEXT
▲ 点赞 1 ▼
HTREEITEM ShellBrowser::select_entry(HTREEITEM hitem, Entry* entry, bool expand)
{
CONTEXT("ShellBrowser::select_entry()");
if (expand && !TreeView_Expand(_left_hwnd, hitem, TVE_EXPAND))
return 0;
for(hitem=TreeView_GetChild(_left_hwnd,hitem); hitem; hitem=TreeView_GetNextSibling(_left_hwnd,hitem)) {
if ((Entry*)TreeView_GetItemData(_left_hwnd,hitem) == entry) {
if (TreeView_SelectItem(_left_hwnd, hitem)) {
if (expand)
TreeView_Expand(_left_hwnd, hitem, TVE_EXPAND);
return hitem;
}
break;
}
}
return 0;
}
开发者ID:svn2github,项目名称:ros-explorer,代码行数:22,代码来源:shellbrowser.cpp
示例7:
▲ 点赞 1 ▼
bool
CDeviceView::ListDevicesByConnection()
{
// Walk the device tree and add all the devices
(void)RecurseChildDevices(m_RootNode->GetDeviceInst(), m_hTreeRoot);
// Expand the root item
(void)TreeView_Expand(m_hTreeView,
m_hTreeRoot,
TVE_EXPAND);
return true;
}
开发者ID:Strongc,项目名称:reactos,代码行数:13,代码来源:DeviceView.cpp
示例8: InitCategoriesList
▲ 点赞 1 ▼
VOID
InitCategoriesList(VOID)
{
HTREEITEM hRootItem1, hRootItem2;
/* Create image list */
hImageTreeView = ImageList_Create(TREEVIEW_ICON_SIZE,
TREEVIEW_ICON_SIZE,
GetSystemColorDepth() | ILC_MASK,
0, 1);
hRootItem1 = AddCategory(TVI_ROOT, IDS_INSTALLED, IDI_CATEGORY);
AddCategory(hRootItem1, IDS_APPLICATIONS, IDI_APPS);
AddCategory(hRootItem1, IDS_UPDATES, IDI_APPUPD);
hRootItem2 = AddCategory(TVI_ROOT, IDS_AVAILABLEFORINST, IDI_CATEGORY);
AddCategory(hRootItem2, IDS_CAT_AUDIO, IDI_CAT_AUDIO);
AddCategory(hRootItem2, IDS_CAT_VIDEO, IDI_CAT_VIDEO);
AddCategory(hRootItem2, IDS_CAT_GRAPHICS, IDI_CAT_GRAPHICS);
AddCategory(hRootItem2, IDS_CAT_GAMES, IDI_CAT_GAMES);
AddCategory(hRootItem2, IDS_CAT_INTERNET, IDI_CAT_INTERNET);
AddCategory(hRootItem2, IDS_CAT_OFFICE, IDI_CAT_OFFICE);
AddCategory(hRootItem2, IDS_CAT_DEVEL, IDI_CAT_DEVEL);
AddCategory(hRootItem2, IDS_CAT_EDU, IDI_CAT_EDU);
AddCategory(hRootItem2, IDS_CAT_ENGINEER, IDI_CAT_ENGINEER);
AddCategory(hRootItem2, IDS_CAT_FINANCE, IDI_CAT_FINANCE);
AddCategory(hRootItem2, IDS_CAT_SCIENCE, IDI_CAT_SCIENCE);
AddCategory(hRootItem2, IDS_CAT_TOOLS, IDI_CAT_TOOLS);
AddCategory(hRootItem2, IDS_CAT_DRIVERS, IDI_CAT_DRIVERS);
AddCategory(hRootItem2, IDS_CAT_LIBS, IDI_CAT_LIBS);
AddCategory(hRootItem2, IDS_CAT_OTHER, IDI_CAT_OTHER);
(VOID) TreeView_SetImageList(hTreeView, hImageTreeView, TVSIL_NORMAL);
(VOID) TreeView_Expand(hTreeView, hRootItem2, TVE_EXPAND);
(VOID) TreeView_Expand(hTreeView, hRootItem1, TVE_EXPAND);
(VOID) TreeView_SelectItem(hTreeView, hRootItem1);
}
开发者ID:rmallof,项目名称:reactos,代码行数:39,代码来源:winmain.c
示例9: GetDlgItem
▲ 点赞 1 ▼
void CPpcFolderDlg::OnBtnDown(HWND hDlg, WPARAM wParam)
{
TV_ITEM tvi;
HWND hWnd = GetDlgItem(hDlg, IDC_TREE_FOLDER);
HTREEITEM hItem = TreeView_GetSelection(hWnd);
if (!hItem)
return;
memset(&tvi, 0, sizeof(tvi));
tvi.mask = TVIF_CHILDREN | TVIF_STATE;
tvi.hItem = hItem;
TreeView_GetItem(hWnd, &tvi);
if (tvi.cChildren) {
if (wParam == VK_RIGHT) {
if (!(tvi.state & TVIS_EXPANDED))
TreeView_Expand(hWnd, hItem, TVE_EXPAND);
else {
hItem = TreeView_GetChild(hWnd, hItem);
TreeView_SelectItem(hWnd, hItem);
}
}
else {
if (tvi.state & TVIS_EXPANDED)
TreeView_Expand(hWnd, hItem, TVE_COLLAPSE);
else {
hItem = TreeView_GetParent(hWnd, hItem);
TreeView_SelectItem(hWnd, hItem);
}
}
}
else {
if (wParam == VK_LEFT) {
hItem = TreeView_GetParent(hWnd, hItem);
TreeView_SelectItem(hWnd, hItem);
}
}
}
开发者ID:afriza,项目名称:GSPlayer,代码行数:38,代码来源:PpcFolderDlg.cpp
示例10: RecursiveCreateTree
▲ 点赞 1 ▼
void RecursiveCreateTree(HTREEITEM parent, HTREEITEM pos, PROJECTITEM *proj)
{
while (proj)
{
TVInsertItem(prjTreeWindow, parent, pos, proj);
ResAddItem(proj);
if (proj->children)
{
RecursiveCreateTree(proj->hTreeItem, TVI_LAST, proj->children);
TreeView_Expand(prjTreeWindow, proj->hTreeItem, proj->expanded ? TVE_EXPAND : TVE_COLLAPSE);
}
proj = proj->next;
}
}
开发者ID:bencz,项目名称:OrangeC,代码行数:14,代码来源:prjwnd.c
示例11: TreeView_DeleteItem
▲ 点赞 1 ▼
bool NGMainWnd::onnet_directories(const string &path, const vector<string> &directories, const vector<dword> &types, const vector<dword> &childrens) {
HTREEITEM hparent = NULL;
// find the parent treenode in the path list
for (dword i = 0; i < browsenodes.size(); i++) {
if (browsenodes[i].path.compare(path) == 0) {
hparent = browsenodes[i].hnode;
break;
}
}
if (hparent != NULL) {
// delete previous children
for (long i = (browsenodes.size() - 1); i >= 0; i--) {
if (browsenodes[i].hparent == hparent) {
TreeView_DeleteItem(this->hbrowsewnd, browsenodes[i].hnode);
browsenodes.erase(browsenodes.begin() + i);
}
}
// append new children
for (dword i = 0; i < directories.size(); i++) {
if (childrens[i] > 0) {
this->client->request_bw_getdirectories(path + directories[i]);
}
// update tree items
TVINSERTSTRUCT tvi;
memset(&tvi, 0, sizeof(TVINSERTSTRUCT));
tvi.hParent = hparent;
tvi.hInsertAfter = TVI_LAST;
tvi.itemex.mask = TVIF_CHILDREN | TVIF_IMAGE | TVIF_TEXT;
if (childrens[i] > 0) {
tvi.itemex.cChildren = 1;
} else {
tvi.itemex.cChildren = 0;
}
tvi.itemex.pszText = (LPSTR)directories[i].c_str();
tvi.itemex.iImage = ICON_MAIN;
this->browsenodes.push_back(PathNode(hparent, TreeView_InsertItem(this->hbrowsewnd, &tvi), path + directories[i] + "/", types[i]));
}
// if root, auto-expand
if (path.compare("/") == 0) {
TreeView_Expand(this->hbrowsewnd, hparent, TVE_EXPAND);
}
}
return true;
}
开发者ID:nitrotm,项目名称:ngwinamp2,代码行数:49,代码来源:mainwnd_netevents.cpp
示例12: TreeView_ExpandAll
▲ 点赞 1 ▼
// TreeView 全開・全閉
void TreeView_ExpandAll(HWND hwndTree, bool bExpand, int nMaxDepth)
{
HTREEITEM htiCur;
HTREEITEM htiItem;
HTREEITEM htiNext;
::SendMessageAny(hwndTree, WM_SETREDRAW, (WPARAM)FALSE, 0);
htiCur = htiItem = TreeView_GetSelection( hwndTree );
if (!bExpand && htiCur != NULL) {
// 閉じる時はトップに変更
for (htiNext = htiCur; htiNext != NULL; ) {
htiItem = htiNext;
htiNext = TreeView_GetParent( hwndTree, htiItem );
}
if (htiCur != htiItem) {
htiCur = htiItem;
TreeView_SelectItem( hwndTree, htiCur );
}
}
std::vector<HTREEITEM> tree;
HTREEITEM item = TreeView_GetRoot(hwndTree);
while( 0 < tree.size() || item != NULL ){
while(item != NULL && (int)tree.size() < nMaxDepth ){
// 先に展開してからGetChildしないと、ファイルツリーのサブアイテムが展開されない
TreeView_Expand(hwndTree, item, bExpand ? TVE_EXPAND : TVE_COLLAPSE);
tree.push_back(item);
item = TreeView_GetChild(hwndTree, item);
}
item = tree.back();
tree.pop_back();
item = TreeView_GetNextSibling(hwndTree, item);
}
// 選択位置を戻す
if (htiCur == NULL) {
if (bExpand ) {
htiItem = TreeView_GetRoot( hwndTree );
TreeView_SelectSetFirstVisible( hwndTree, htiItem );
}
TreeView_SelectItem( hwndTree, NULL );
}
else {
TreeView_SelectSetFirstVisible( hwndTree, htiCur );
}
::SendMessageAny(hwndTree, WM_SETREDRAW, (WPARAM)TRUE, 0);
}
开发者ID:beru,项目名称:sakura,代码行数:50,代码来源:StdControl.cpp
示例13: wcschr
▲ 点赞 1 ▼
/*
** Selects an item in the treeview.
**
*/
void CDialogManage::CTabSkins::SelectTreeItem(HWND tree, HTREEITEM item, LPCWSTR name)
{
WCHAR buffer[MAX_PATH];
TVITEM tvi = {0};
tvi.mask = TVIF_TEXT;
tvi.hItem = item;
tvi.pszText = buffer;
const WCHAR* pos = wcschr(name, L'\\');
if (pos)
{
const int folderLen = (int)(pos - name);
tvi.cchTextMax = folderLen + 1; // Length of folder name plus 1 for NULL
// Find and expand the folder
do
{
TreeView_GetItem(tree, &tvi);
if (wcsncmp(buffer, name, folderLen) == 0)
{
if ((item = TreeView_GetChild(tree, tvi.hItem)) != NULL)
{
TreeView_Expand(tree, tvi.hItem, TVE_EXPAND);
++pos; // Skip the slash
SelectTreeItem(tree, item, pos);
}
break;
}
}
while ((tvi.hItem = TreeView_GetNextSibling(tree, tvi.hItem)) != NULL);
}
else
{
tvi.cchTextMax = MAX_PATH;
// Find and select the file
do
{
TreeView_GetItem(tree, &tvi);
if (wcscmp(buffer, name) == 0)
{
TreeView_Select(tree, tvi.hItem, TVGN_CARET);
break;
}
}
while ((tvi.hItem = TreeView_GetNextSibling(tree, tvi.hItem)) != NULL);
}
}
开发者ID:JamesAC,项目名称:rainmeter,代码行数:53,代码来源:DialogManage.cpp
示例14: lockManager
▲ 点赞 1 ▼
bool SimTreeView::handleItemCollapse( HTREEITEM hParent, HTREEITEM hItem )
{
hParent;
lockManager();
TV_ITEM *tvi = treeList.getItemInfo( hItem );
SimObject *obj = getObject( hItem );
if ( dynamic_cast<SimSet*>(obj) )
{
tvi->mask = TVIF_IMAGE;
tvi->iImage = handleGetBitmapIndex( hItem, false );
TreeView_SetItem( treeList.getHandle(), tvi );
}
TreeView_Expand( treeList.getHandle(), hItem, TVE_COLLAPSE|TVE_COLLAPSERESET );
unlockManager();
return true;
}
开发者ID:AltimorTASDK,项目名称:TribesRebirth,代码行数:16,代码来源:simTreeView.cpp
示例15: str
▲ 点赞 1 ▼
void CFolderDlg::OnInitDialog(HWND hDlg)
{
CTempStr str(IDS_ROOT_FOLDER_NAME);
ShellInitDialog(hDlg);
HWND hTreeView = GetDlgItem(hDlg, IDC_TREE_FOLDER);
m_bRefresh = FALSE;
m_hImageList = NULL;
HICON hIcon;
//イメージリスト作成
m_hImageList = ImageList_Create(SCALEX(16), SCALEY(16), ILC_COLOR|ILC_MASK, 1, 2);
hIcon = (HICON)LoadImage(GetInst(), (LPCTSTR)IDI_ROOT, IMAGE_ICON, SCALEX(16), SCALEY(16), 0);
ImageList_AddIcon(m_hImageList, hIcon);
DeleteObject(hIcon);
SHFILEINFO shfi;
SHGetFileInfo(_T("\\Windows"), NULL, &shfi, sizeof(shfi), SHGFI_SMALLICON | SHGFI_ICON);
ImageList_AddIcon(m_hImageList, shfi.hIcon);
TreeView_SetImageList(hTreeView, m_hImageList, TVSIL_NORMAL);
SetWindowLong(hTreeView, GWL_STYLE, GetWindowLong(hTreeView, GWL_STYLE)|TVS_HASBUTTONS|TVS_HASLINES|TVS_SHOWSELALWAYS);
//フォルダ読み込み
HCURSOR hCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));
TVINSERTSTRUCT tvis;
tvis.hParent = NULL;
tvis.hInsertAfter = TVI_SORT;
tvis.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_CHILDREN;
tvis.item.pszText = str;
tvis.item.iImage = 0;
tvis.item.iSelectedImage = 0;
tvis.item.cChildren = 1;
HTREEITEM hRoot = TreeView_InsertItem(hTreeView, &tvis);
TreeView_Expand(hTreeView, hRoot, TVE_EXPAND);
//カレントフォルダをセット
SetCurrentFolder(hTreeView, m_pszPath);
if (m_bSubFolder)
SendMessage(GetDlgItem(hDlg, IDC_CHECK_SUBFOLDER), BM_SETCHECK, 1, 0);
SetCursor(hCursor);
}
开发者ID:v-zaburdaev,项目名称:Gsplayer2,代码行数:46,代码来源:FolderDlg.cpp
注:本文中的TreeView_Expand函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。