Если вы хотите преобразовать метки в GDI + Status в строку, то самое простое, что вы можете сделать, это:
const char* StatusMsgMap[] =
{
"Ok", //StatusMsgMap[Ok] = "Ok";
"GenericError", //StatusMsgMap[GenericError] = "GenericError";
"InvalidParameter", //StatusMsgMap[InvalidParameter] = "InvalidParameter";
"OutOfMemory", //StatusMsgMap[OutOfMemory] = "OutOfMemory";
//so on
};
//Usage:
std::string error = StatusMsgMap[status]; // where status is Status type!
Или, если вы хотите более описательное сообщение, то это:
const char* StatusMsgMap[] =
{
"the method call was successful",
"there was an error on the method call, which is identified as something other than those defined by the other elements of this enumeration",
"one of the arguments passed to the method was not valid",
//so on
};
Поскольку в перечислении Status всего 22 метки, создание StatusMsgMap
указанным выше способом, по моему мнению, не будет большой задачей. 5 минут более чем достаточно!