wxColour에 #FFFFFF 에 알파값 추가한 문자열로 하여 세팅할 수 있도록..
(ex. #FFFFFF00)
unsigned char convertHextoChar(const wxString& str) {
unsigned int i = 0;
stringstream ss;
ss << hex << str.c_str();
ss >> i;
unsigned char c = i;
return c;
}
// #00000000 (+alpha channel) 지원
wxColour toColour(const wxString& str) {
if (str.IsEmpty()) {
return wxNullColour;
}
// #000000 or color name
if (!wxString("#").IsSameAs(*str.begin()) || str.size() < 9) {
return wxColour(str);
}
// #00000000
unsigned char r, g, b, a;
r = convertHextoChar(str.SubString(1,2));
g = convertHextoChar(str.SubString(3,4));
b = convertHextoChar(str.SubString(5,6));
a = convertHextoChar(str.SubString(7,8));
return wxColour(r, g, b, a);
}
사용 :
wxString str = "#abcdeffa";
wxColour color = toColour(str);
'C++' 카테고리의 다른 글
wxWidgets tray icon (wxTaskBarIcon) (0) | 2012.07.24 |
---|---|
taskbar gage (windows7 이상) (0) | 2012.07.24 |
wxZip 사용 (0) | 2012.07.24 |
wxRichTextCtrl 사용방법 (0) | 2012.07.14 |
wxRegEx 사용하여 특정 문자 치환 (0) | 2012.07.11 |
std::regex (0) | 2012.07.05 |
atlconv.h code page 관련 (0) | 2012.07.04 |
shorcut 바로가기 아이콘 만들기 (0) | 2012.06.30 |