webservice系列教学(16)-如何调用webservice(vc7)

发表于:2007-06-30来源:作者:点击数: 标签:
////////////////////////////////////////////////////////////////////////////////////////////////// //function: CMClientDlg::assignItem() // //parameters: (LVITEM *item, UINT mask, int iItem, int iSubItem, LPTSTR pszText, int cchTextMax) //
//////////////////////////////////////////////////////////////////////////////////////////////////
//  function: CMClientDlg::assignItem()
//
//  parameters: (LVITEM *item, UINT mask, int iItem, int iSubItem, LPTSTR pszText, int clearcase/" target="_blank" >cchTextMax)
//
//  description: assigns the given values  for a LVITEM type item
//
//  returns: void
//
//////////////////////////////////////////////////////////////////////////////////////////////////
void CMClientDlg::assignItem(LVITEM *item, UINT mask, int iItem, int iSubItem, LPTSTR pszText, int cchTextMax)
{
    item->mask            = mask;
    item->iItem            = iItem;
    item->iSubItem        = iSubItem;
    item->pszText        = pszText;
    item->cchTextMax    = cchTextMax;
    return;
}
//////////////////////////////////////////////////////////////////////////////////////////////////
//  function: CMClientDlg::AssignpRef()
//
//  parameters: (VARIANT *var1, VARIANT *var2)
//
//  description: assigns the value of var1 ,from var2 variant type
//
//  returns: void
//
//////////////////////////////////////////////////////////////////////////////////////////////////
void CMClientDlg::AssignpRef(VARIANT *var1, VARIANT *var2)
{
    switch (var2->vt)
    {
    case VT_BOOL:
        V_BOOLREF(var1)     = &var2->boolVal;
        break;
    case VT_BSTR:
        V_BSTRREF(var1)     = &var2->bstrVal;
        break;
    case VT_DATE:
        V_DATEREF(var1)     = &var2->date;
        break;
    case VT_DECIMAL:
        V_DECIMALREF(var1)  = &var2->decVal;
        break;
    case VT_I1:
        V_I1REF(var1)       = &var2->cVal;
        break;
    case VT_I2:
        V_I2REF(var1)       = &var2->iVal;
        break;
    case VT_I4:
        V_I4REF(var1)       = &var2->lVal;
        break;
    case VT_R4:
        V_R4REF(var1)       = &var2->fltVal;
        break;
    case VT_R8:
        V_R8REF(var1)       = &var2->dblVal;
        break;
    case VT_UI1:
        V_UI1REF(var1)      = &var2->bVal;
        break;
    case VT_UI2:
        V_UI2REF(var1)      = &var2->uiVal;
        break;
    case VT_UI4:
        V_UI4REF(var1)      = &var2->ulVal;
        break;
    case VT_INT:
        V_INTREF(var1)      = &var2->intVal;
        break;
    case VT_CY:
        V_CYREF(var1)       = &var2->cyVal;
        break;
    default :
        V_R8REF(var1)       = &var2->dblVal;
    };
    return;
}
void CMClientDlg::DisableButtons()
{
    GetDlgItem(IDC_EXECUTE)->EnableWindow(FALSE);
    GetDlgItem(IDC_CLOSE)->EnableWindow(FALSE);
    GetDlgItem(IDC_EDIT)->EnableWindow(FALSE);
    GetDlgItem(IDBROWSE)->EnableWindow(FALSE);
    GetDlgItem(IDLOAD)->EnableWindow(FALSE);
}
void CMClientDlg::EnableButtons()
{
     GetDlgItem(IDC_EXECUTE)->EnableWindow(TRUE);
     GetDlgItem(IDC_CLOSE)->EnableWindow(TRUE);
     GetDlgItem(IDC_EDIT)->EnableWindow(TRUE);
     GetDlgItem(IDBROWSE)->EnableWindow(TRUE);
     GetDlgItem(IDLOAD)->EnableWindow(TRUE);
}

原文转自:http://www.ltesting.net