`
huozheleisi
  • 浏览: 1238245 次
文章分类
社区版块
存档分类
最新评论

VC20010CMFCPropertyGridProperty不支持Date类型的自动输出

 
阅读更多
VC20010CMFCPropertyGridProperty不支持Date类型的自动输出

CString CMFCPropertyGridProperty::FormatProperty()
{
ASSERT_VALID(this);
ASSERT_VALID(m_pWndList);

COleVariant& var = m_varValue;

CString strVal;

if (m_bIsValueList)
{
for (POSITION pos = m_lstSubItems.GetHeadPosition(); pos != NULL;)
{
CMFCPropertyGridProperty* pProp = m_lstSubItems.GetNext(pos);
ASSERT_VALID(pProp);

strVal += pProp->FormatProperty();

if (pos != NULL)
{
strVal += m_pWndList->m_cListDelimeter;
strVal += _T(' ');
}
}

return strVal;
}

switch (var.vt)
{
case VT_BSTR:
strVal = var.bstrVal;
break;

case VT_I2:
strVal.Format(m_strFormatShort, (short)var.iVal);
break;

case VT_I4:
case VT_INT:
strVal.Format(m_strFormatLong, (long)var.lVal);
break;

case VT_UI1:
if ((BYTE)var.bVal != 0)
{
strVal.Format(m_strFormatChar, (TCHAR)(BYTE)var.bVal);
}
break;

case VT_UI2:
strVal.Format( m_strFormatUShort, var.uiVal);
break;

case VT_UINT:
case VT_UI4:
strVal.Format(m_strFormatULong, var.ulVal);
break;

case VT_R4:
strVal.Format(m_strFormatFloat, (float)var.fltVal);
break;

case VT_R8:
strVal.Format(m_strFormatDouble, (double)var.dblVal);
break;

case VT_BOOL:
strVal = var.boolVal == VARIANT_TRUE ? m_pWndList->m_strTrue : m_pWndList->m_strFalse;
break;

default:
// Unsupported type
strVal = _T("*** error ***");
}

return strVal;
}
代码如上面所示,如果直接使用COleVariant(COleDateTime.v_dt),显示的将是datetime 的数字形式

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics