Esempio n. 1
0
//----按Id查找窗口中的子窗口(控件)-----------------------------------------------
//描述: 略.
//参数:hwnd:窗口句柄
//     Id: 需要查找的子窗口(控件)Id.
//返回:查找到的子窗口(控件)句柄.
//------------------------------------------------------------------------------
HWND    GetDlgItem(HWND hwnd,int Id)
{
    if(HWND_Lock(hwnd))
    {
        hwnd =_GetDlgItem(hwnd,Id);
        HWND_Unlock(hwnd);
    }
    return hwnd;
}
Esempio n. 2
0
int DlgDirSelectComboBoxExW(
    HWND hwndDlg,
    LPWSTR pwszOut,
    int cchOut,
    int idComboBox)
{
    BOOL fRet;
    TL tlpwndComboBox;
    TL tlpwndList;
    PWND pwndDlg;
    PWND pwndComboBox;
    PCBOX pcbox;

    pwndDlg = ValidateHwnd(hwndDlg);

    if (pwndDlg == NULL)
        return FALSE;

    pwndComboBox = _GetDlgItem(pwndDlg, idComboBox);
    if (pwndComboBox == NULL) {
        RIPERR0(ERROR_CONTROL_ID_NOT_FOUND, RIP_VERBOSE, "");
        return 0;
    }
    pcbox = ((PCOMBOWND)pwndComboBox)->pcbox;
    if (pcbox == NULL) {
        RIPERR0(ERROR_WINDOW_NOT_COMBOBOX, RIP_VERBOSE, "");
        return 0;
    }

    ThreadLockAlways(pwndComboBox, &tlpwndComboBox);
    ThreadLock(pcbox->spwndList, &tlpwndList);
    fRet = xxxDlgDirSelectHelper(pwndComboBox, pwszOut, cchOut, pcbox->spwndList);
    ThreadUnlock(&tlpwndList);
    ThreadUnlock(&tlpwndComboBox);

    return fRet;
}