Ejemplo n.º 1
0
void TffdshowPageDec::presetChanged(const char_t *presetName)
{
    fillPresetsCbx();
    int previd = page ? page->uniqueID() : 0, prevVisId = hti2page(TreeView_GetFirstVisible(htv))->uniqueID();
    for (ThtiPages::iterator p = filterPages.begin(); p != filterPages.end(); p++) {
        deletePage(*p);
    }
    filterPages.clear();
    deciD->createPresetPages(presetName, this);
    showShowHide(previd);
    InvalidateRect(htv, NULL, FALSE);
    sortOrder();
    setFullHalf();
}
Ejemplo 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;
}