2015-02-20 4 views
0

В трех статьях MSDN, связанных в нижней части этого сообщения, упоминается препроцессорный макрос XM_CXSMICON. В контексте, он должен быть индексом системной метрики, которая дает ширину значка маленького в лотке уведомлений или на всплывающем всплывающем окне такого значка.Является ли «XM_CXSMICON» ошибкой «SM_CXSMICON» на этих страницах MSDN?

Вот цитата, дословно:

NIIF_LARGE_ICON (0x00000010) 0x00000010. Windows Vista и более поздние версии. Большую версию значка следует использовать в качестве значка на шаре уведомления. Это соответствует значку с размерами SM_CXICON x SM_CYICON. Если этот флаг не установлен, используется значок с размерами XM_CXSMICON x SM_CYSMICON.

Остальные три макросы из этой цитаты, SM_CXICON, SM_CYICON и SM_CYSMICON, все определены в user32.h, как ожидалось, но ни один файл заголовка в Windows API, не определяет XM_CXSMICON. Поиск в MSDN только возвращает хиты, связанные в конце этого сообщения, все из которых связаны с значками уведомлений.

С этими доказательствами я делаю вывод, что это ошибка, а макрос фактически равен SM_CXSMICON, который определен на линии выше SM_CYSMICON в user32.h.

Может кто-нибудь подтвердить это предположение или предоставить дополнительную информацию?

Три статьи MSDN в вопросе:

  1. https://msdn.microsoft.com/en-us/library/windows/desktop/bb773352(v=vs.85).aspx
  2. https://msdn.microsoft.com/en-us/library/windows/desktop/bb774428(v=vs.85).aspx
  3. https://msdn.microsoft.com/en-us/library/windows/desktop/ee453691(v=vs.85).aspx
+0

Я только что заметил, что в одной и той же статье я продублировал * вторую * ошибку! 'NIIF_LARGE_ICON' определяется в' shellapi.h' и является '0x00000020', а не' 0x00000010', как указано в тракте текста, который я цитировал. – Xharlie

ответ

1

Да, это опечатка. Он должен читать SM_CXSMICON x SM_CYSMICON.

+0

На вопрос и ответили. Спасибо. – Xharlie