void TcodecsPage::initLV(const char_t *IthirdCol) { hlv=GetDlgItem(m_hwnd,IDC_LV_INCODECS); ListView_SetExtendedListViewStyleEx(hlv,LVS_EX_FULLROWSELECT|LVS_EX_INFOTIP|LVS_EX_GRIDLINES,LVS_EX_FULLROWSELECT|LVS_EX_INFOTIP|LVS_EX_GRIDLINES); int ncol=0; ListView_AddCol(hlv,ncol,cfgGet(IDFF_lvCodecsWidth0),_(IDC_LV_INCODECS,_l("Format" )),false); ListView_AddCol(hlv,ncol,cfgGet(IDFF_lvCodecsWidth1),_(IDC_LV_INCODECS,_l("Decoder")),false); ListView_AddCol(hlv,ncol,cfgGet(IDFF_lvCodecsWidth2),_(IDC_LV_INCODECS,thirdCol=IthirdCol?IthirdCol:_l("Details")),false); hcbx=GetDlgItem(m_hwnd,IDC_CBX_INCODECS); formats.clear(); fillCodecs(); ListView_SetItemCount(hlv,formats.size()); curitem=cfgGet(IDFF_lvCodecsSelected); lvSetSelItem(IDC_LV_INCODECS,curitem); ListView_EnsureVisible(hlv,curitem,FALSE); options2dlg(curitem); if (setHints!=-1) { enableHints(!!setHints); } }
STDMETHODIMP TffdshowPageBase::Activate(HWND hwndParent, LPCRECT rect, BOOL fModal) { CheckPointer(rect, E_POINTER); if (!wasobjectset) { return E_UNEXPECTED; } if (m_hwnd) { return E_UNEXPECTED; } HWND hwnd = createDialog(dialogId, hwndParent); if (hwnd == NULL) { return E_OUTOFMEMORY; } //setHWND(hwnd); translate(); Move(rect); Show(SW_SHOWNORMAL); //LOGFONT lf={-13L,-13L,0L,0L,FW_NORMAL,0,0,0,SYMBOL_CHARSET,OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,FF_ROMAN+VARIABLE_PITCH,"Webdings"}; LOGFONT lf = {18L, 0L, 0L, 0L, FW_NORMAL, 0, 0, 0, SYMBOL_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, NONANTIALIASED_QUALITY, FF_DONTCARE + DEFAULT_PITCH, _l("Webdings")}; arrowsFont = CreateFontIndirect(&lf); dlg = findParentDlg(); if (IsWindow(dlg)) { if (resorePos && cfgGet(IDFF_dlgRestorePos)) { int x, y; x = cfgGet(IDFF_dlgPosX); y = cfgGet(IDFF_dlgPosY); WINDOWPLACEMENT wpl; wpl.length = sizeof(wpl); GetWindowPlacement(dlg, &wpl); OffsetRect(&wpl.rcNormalPosition, x - wpl.rcNormalPosition.left, y - wpl.rcNormalPosition.top); SetWindowPlacement(dlg, &wpl); } if (cfgGet(IDFF_alwaysOnTop)) { SetWindowPos(dlg, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); } } htv = GetDlgItem(m_hwnd, IDC_TV_TREE); SetWindowLong(htv, GWL_STYLE, TVS_NOHSCROLL | GetWindowLong(htv, GWL_STYLE)); hil = ImageList_Create(16, 16, ILC_COLOR | ILC_MASK, 2, 2); ilClear = ImageList_Add(hil, bmp1[0] = LoadBitmap(hi, MAKEINTRESOURCE(IDB_CLEAR)), bmp2[0] = LoadBitmap(hi, MAKEINTRESOURCE(IDB_CHB_MASK))); ilChecked = ImageList_Add(hil, bmp1[1] = LoadBitmap(hi, MAKEINTRESOURCE(IDB_CHECKED)), bmp2[1] = LoadBitmap(hi, MAKEINTRESOURCE(IDB_CHB_MASK))); ilArrowUD = ImageList_Add(hil, bmp1[2] = LoadBitmap(hi, MAKEINTRESOURCE(IDB_ARROWS)), bmp2[2] = LoadBitmap(hi, MAKEINTRESOURCE(IDB_ARROWS_MASK_UD))); ilArrowU = ImageList_Add(hil, bmp1[3] = LoadBitmap(hi, MAKEINTRESOURCE(IDB_ARROWS)), bmp2[3] = LoadBitmap(hi, MAKEINTRESOURCE(IDB_ARROWS_MASK_U))); ilArrowD = ImageList_Add(hil, bmp1[4] = LoadBitmap(hi, MAKEINTRESOURCE(IDB_ARROWS)), bmp2[4] = LoadBitmap(hi, MAKEINTRESOURCE(IDB_ARROWS_MASK_D))); onActivate(); static const TanchorInfo ainfo[] = { IDC_PLACE_PAGE, TanchorInfo::LEFT | TanchorInfo::RIGHT | TanchorInfo::TOP | TanchorInfo::BOTTOM, 0, 0 }; anchors.add(ainfo, *this); TreeView_SetIndent(htv, 24); //TreeView_SetItemHeight(htv,26); showShowHide(); int lastPage = cfgGet(IDFF_lastPage); treeSelectItem(lastPage); enableHints(!!cfgGet(IDFF_showHints)); deci->setCfgDlgHwnd(dlg); deci->setOnChangeMsg(m_hwnd, WM_FFONCHANGE); deci->setOnFrameMsg(m_hwnd, WM_FFONFRAME); return NOERROR; }