Exemplo n.º 1
0
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);
    }
}
Exemplo n.º 2
0
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;
}