сконвертировать строку "0xAAbb22" в Long ?

 

никогда бы не подумал что буду задавать такой вопрос, но вот он:

можно-ли стандартными средствами (а-ля StringToInteger) преобразовать строку в 16-ти разрядном виде в целое число ?

string s="0xAAbbcc"; // или лучше #aabbcc , потому что вообще речь про цвета rgb

long value=??? (s);

велосипедить свою функцию ради того что должно по идее быть, как-то совсем нехочется. 

PS/ почему StringToInteger не понимает префиксов, не распознаёт разрядность и не имеет доп.аргумента basis -  для меня загадка..ведь явно-же смотрели на strtol() http://cppstudio.com/post/816/

PPS/ ещё загадка, почему StringToColor не понимает цветов в формате "#RRGGBB" (более привычное представление цвета чем придумка r,g,b)

Причина обращения: