bool FolderView::Create(CWnd* parent, UINT id, FolderPathPtr path/*= 0*/, bool root/*= true*/) { root_ = path; if (!CTreeCtrl::Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP | TVS_DISABLEDRAGDROP | TVS_HASBUTTONS | TVS_HASLINES | TVS_SHOWSELALWAYS, CRect(0,0,0,0), parent, id)) return false; #ifndef TVS_EX_DOUBLEBUFFER #define TVS_EX_DOUBLEBUFFER 0x0004 #endif TreeView_SetExtendedStyle(m_hWnd, TVS_EX_DOUBLEBUFFER, TVS_EX_DOUBLEBUFFER); SendMessage(WM_SETFONT, WPARAM(::GetStockObject(DEFAULT_GUI_FONT))); if (!SetImageList()) { ASSERT(false); // return false; } folder_as_root_ = root; if (root_) if (HTREEITEM item= SetupRoot(root_, folder_as_root_)) { tree_->Expand(item, TVE_EXPAND); tree_->SelectItem(item); } return true; }
static int tview_style(ffparser_schem *ps, void *obj, const ffstr *val) { ffui_loader *g = obj; switch (ffszarr_ifindsorted(view_styles, FFCNT(view_styles), val->ptr, val->len)) { case VIEW_STYLE_VISIBLE: ffui_show(g->ctl, 1); break; case VIEW_STYLE_CHECKBOXES: ffui_styleset(g->ctl->h, TVS_CHECKBOXES); break; case VIEW_STYLE_EXPLORER_THEME: ffui_view_settheme(g->ctl); #if FF_WIN >= 0x0600 TreeView_SetExtendedStyle(g->ctl->h, TVS_EX_FADEINOUTEXPANDOS, TVS_EX_FADEINOUTEXPANDOS); #endif break; case VIEW_STYLE_FULL_ROW_SELECT: ffui_styleset(g->ctl->h, TVS_FULLROWSELECT); break; case VIEW_STYLE_TRACK_SELECT: ffui_styleset(g->ctl->h, TVS_TRACKSELECT); break; case VIEW_STYLE_HAS_LINES: ffui_styleset(g->ctl->h, TVS_HASLINES); break; case VIEW_STYLE_HAS_BUTTONS: ffui_styleset(g->ctl->h, TVS_HASBUTTONS); break; default: return FFPARS_EBADVAL; } return 0; }
void TreeView::OnCreate(HWND hwnd, LPCREATESTRUCT create_struct) { TreeView_SetExtendedStyle(hwnd, TVS_EX_DOUBLEBUFFER, 0); Window::OnCreate(hwnd, create_struct); }
void TreeView::OnCreate(HWND hwnd, LPCREATESTRUCT lpCreateStruct) { TreeView_SetExtendedStyle(hwnd, TVS_EX_DOUBLEBUFFER, NULL); Window::OnCreate(hwnd, lpCreateStruct); }