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