Есть ли список допустимых комбинаций параметра для GetThemeColor / Визуальные Стили API

JavaScript не сделал, чтобы собственный StringBuffer возразил, таким образом, я предполагаю, что это из библиотеки, которой Вы пользуетесь, или функция необычной серверной среды (т.е. не браузер).

я сомневаюсь, что библиотека (записанный в JS) произвела бы что-либо быстрее, хотя собственный объект StringBuffer мог бы. Категорический ответ может быть найден с профилировщиком (если Вы будете работать в браузере тогда, то Firebug предоставит Вам профилировщика для механизма JS, найденного в Firefox).

6
задан RED SOFT ADAIR 11 December 2009 в 14:18
поделиться

2 ответа

Обновление

Я бы порекомендовал разбить XML на отношения и выполнить поиск и объединение в результирующем отношении, ориентируясь на набор, а не на процедурный способ поиска определенных узлов в XML. Вот простой XML-запрос, который удаляет интересующие узлы и атрибуты:

select x.value(N'../../../../@stepId', N'int') as StepID
  , x.value(N'../../@id', N'int') as ComponentID
  , x.value(N'@nom',N'nvarchar(100)') as Nom
  , x.value(N'@valeur', N'nvarchar(100)') as Valeur
from @x.nodes(N'/xml/box/components/component/variables/variable') t(x)

Однако, если вы должны использовать XPath, который извлекает именно интересующее значение:

select x.value(N'@valeur', N'nvarchar(100)') as Valeur
from @x.nodes(N'/xml/box[@stepId=sql:variable("@stepID")]/
    components/component[@id = sql:variable("@componentID")]/
       variables/variable[@nom="Enabled"]') t(x)

Если stepID и идентификатор компонента являются столбцами, а не переменными, вам следует использовать sql: column () вместо sql: variable в фильтрах XPath. См. Привязка реляционных данных к данным XML .

0
ответ дан 10 December 2019 в 02:48
поделиться

Насколько я знаю темы XP, файл .msstyles - это просто набор определений частей, которые имеют изображения и свойства (цвета, размеры, шрифты и т. Д.), Все они определены произвольно. API UxTheme просто возвращает то, что находится в этом файле, и наличие определенной комбинации свойств в основном зависит от автора темы (вот почему вы всегда должны возвращаться к «классическому» GetSysColor , ] GetSystemMetrics или SystemParametersInfo , если API темы не может вернуть то, что вы ищете.

Однако вы упоминаете здесь «розовую тему», поэтому я предполагаю, что вы говорите об Aero Glass Тема. Цвета темы Aero обрабатываются DWM и при этом отделены от классических цветов или цветов UxTheme API. Чтобы получить цвет окна Aero, вы должны использовать DwmGetColorizationColor , который вернет его в формате 0xAARRGGBB (в отличие от COLORREF , который равен 0x00BBGGRR, поэтому вам нужно будет выполнить перевод между двумя форматами). Чтобы сначала узнать, включена ли композиция DWM (также известная как «Aero Glass»), необходимо вызвать DwmIsCompositionEnabled .

9
ответ дан 10 December 2019 в 02:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: