Я пытаюсь найти любую ссылку для этой функции, но я ничего не нашел.У кого-нибудь есть документация по SHGetSysColor?
Все у меня есть смутное KB from Microsoft ссылки, что программист сделал ляп при кодировании части Windows Mobile 6, где он должен позвонить SHGetSysColor
, но вместо этого он назвал GetSysColor
, что дает совершенно иной цвет, для одной и той же спецификации.
От того, что я мог собрать GetSysColor
, прочитайте значение цвета в реестре от HKEY_LOCAL_MACHINE\Software\Microsoft\Color\SHColor
или HKEY_LOCAL_MACHINE\Software\Microsoft\Color\DefSHColor
и вернет цвет в соответствии с индексом.
В этом реестре у меня есть следующее значение для стандартного Win Mobile 6.5
"DefSHColor"=hex:\
ff,00,00,00,00,00,00,00,dd,dd,dd,00,ff,ff,cc,00,ff,ff,ff,00,15,af,bc,00,15,\
af,bc,00,c9,e7,e9,00,14,9c,a7,00,ff,ff,ff,00,14,9c,a7,00,14,9c,a7,00,14,9c,\
a7,00,15,af,bc,00,14,9c,a7,00,ff,ff,ff,00,c9,e7,e9,00,37,c7,d3,00,37,c7,d3,\
00,ff,ff,ff,00,00,b7,c9,00,14,9c,a7,00,ff,ff,ff,00,15,af,bc,00,84,84,c3,00,\
15,af,bc,00,14,9c,a7,00,ff,ff,ff,00,ff,ff,ff,00,00,00,00,00,ff,ff,ff,00,00,\
00,00,00,ff,ff,ff,00,2e,44,4f,00,00,14,3c,00,00,f0,ff,00,ff,ff,ff,00,c9,e7,\
e9,00,14,9c,a7,00,ff,ff,ff,00,14,9c,a7,00
И я понял, что каждый из четырех байтов представляет собой другой цвет (RR, GG, BB, АА - АА я m, здесь, поскольку каждый цвет имеет байт AA как 00
, что означает, что это сплошной цвет).
То, что я не могу исправить, - это то, что означает каждый индекс, так как у меня есть 41 разные цвета.
Googling for SHGetSysColor
in дает мне всего 7 совпадений, два из них - KB от Microsoft (один на английском, другой на французском), один с русского сайта (который я не читаю), еще два из FreePascal.org и один из Koders.com, который описывает файл commctl.def
.
Я пошел в commctl.h
, пытаясь увидеть, могу ли я найти ссылку на эту функцию и ничего не нашел.
Поиск по MSDN, ни по Google, ни по Bing, ни по запросу MSDN по умолчанию не привел к каким-либо результатам.
Итак, кто-нибудь знает, какие индексы мы говорим здесь?
Если это не документировано, то не используйте его. –