在C++中,可以使用以下方法將COLORREF與字符串互相轉換:
COLORREF color = RGB(255, 0, 0); // 示例紅色
int r = GetRValue(color);
int g = GetGValue(color);
int b = GetBValue(color);
std::string colorStr = "#" + std::to_string(r) + std::to_string(g) + std::to_string(b);
std::string colorStr = "#FF0000"; // 示例紅色
std::string rStr = colorStr.substr(1, 2); // 提取紅色分量
std::string gStr = colorStr.substr(3, 2); // 提取綠色分量
std::string bStr = colorStr.substr(5, 2); // 提取藍色分量
int r = std::stoi(rStr, nullptr, 16);
int g = std::stoi(gStr, nullptr, 16);
int b = std::stoi(bStr, nullptr, 16);
COLORREF color = RGB(r, g, b);
需要注意的是,以上方法僅適用于表示顏色的字符串格式為"#RRGGBB",其中RR表示紅色分量的十六進制值,GG表示綠色分量的十六進制值,BB表示藍色分量的十六進制值。其他格式的字符串需要相應的調整。