本文整理汇总了C++中CAtlStringW::FormatMessage方法的典型用法代码示例。如果您正苦于以下问题:C++ CAtlStringW::FormatMessage方法的具体用法?C++ CAtlStringW::FormatMessage怎么用?C++ CAtlStringW::FormatMessage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CAtlStringW
的用法示例。
在下文中一共展示了CAtlStringW::FormatMessage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnOK
LRESULT CPropertyEditWindow::OnOK(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
{
bool fAllSucceeded = true;
for(size_t i = 0; i < m_arrPropertyInfo.GetCount(); i++)
{
ITedPropertyInfo* pPropertyInfo = m_arrPropertyInfo.GetAt(i);
PropertyInfoDisplay* pDisplay = m_arrPropertyInfoDisplay.GetAt(i);
for(size_t j = 0; j < pDisplay->m_arrLabels.GetCount(); j++)
{
VARTYPE vt = pDisplay->m_arrVartypes.GetAt(j);
if(vt == VT_EMPTY || vt == VT_UNKNOWN || vt == (VT_VECTOR | VT_UI1)) continue;
LPWSTR strName, strValue;
// Get label text (property name)
int nameLen = pDisplay->m_arrLabels.GetAt(j)->GetWindowTextLength();
strName = new WCHAR[nameLen + 1];
if(NULL == strName) continue;
pDisplay->m_arrLabels.GetAt(j)->GetWindowText(strName, nameLen + 1);
// Get edit text (property value)
int valueLen = pDisplay->m_arrEdits.GetAt(j)->GetWindowTextLength();
strValue = new WCHAR[valueLen + 1];
if(NULL == strValue) { delete[] strName; continue; }
pDisplay->m_arrEdits.GetAt(j)->GetWindowText(strValue, valueLen + 1);
HRESULT hr = pPropertyInfo->SetProperty((DWORD) j, strName, vt, strValue);
if( FAILED(hr) && fAllSucceeded)
{
CAtlStringW strError;
strError.FormatMessage(IDS_E_SAVE_PROP, hr);
MessageBox(strError, LoadAtlString(IDS_ERROR), MB_OK);
fAllSucceeded = false;
}
delete[] strName;
delete[] strValue;
}
}
return 0;
}