Метрики системных компонент Windows можно
определить при помощи функции GetSystemMetrics, имеющей
следующий прототип:
Единственный параметр функции (nIndex) выбирает
параметр, значение которого необходимо
определить. Значение параметра возвращается
функцией GetSystemMetrics.
Для определения компоненты Windows в файле windows.h
имеются символические константы с префиксом SM_:
Имя константы |
Описание |
SM_CXBORDER |
Ширина рамки для окна, размеры которого
нельзя изменять |
SM_CXCURSOR |
Ширина курсора |
SM_CXDLGFRAME |
Ширина рамки окна, имеющего стиль WS_DLGFRAME |
SM_CXDOUBLECLK |
Ширина прямоугольника, внутри которого
должны быть сделаны два щелчка мышью, для того
чтобы они могли распознаваться как один двойной
щелчок (double click). Эта константа определена только
для Windows версии 3.1 |
SM_CXFRAME |
Ширина рамки для окна, размеры которого
можно изменять |
SM_CXFULLSCREEN |
Ширина внутренней поверхности окна,
увеличенного до предела (maximised) |
SM_CXHSCROLL |
Ширина битового образа стрелки
горизонтальной полосы просмотра |
SM_CXHTHUMB |
Ширина ползунка горизонтальной полосы
просмотра |
SM_CXICON |
Ширина пиктограммы |
SM_CXICONSPACING |
Ширина прямоугольника, используемого
для расположения пиктограммы с заголовком. Эта
константа определена только для Windows версии 3.1 |
SM_CXMIN |
Минимальная ширина окна |
SM_CXMINTRACK |
Минимальная ширина окна, которая может
быть установлена при помощи мыши (Minimum tracking width of a
window) |
SM_CXSCREEN |
Ширина экрана |
SM_CXSIZE |
Ширина полосы битового образа (bitmap)
заголовка окна (title bar) |
SM_CXVSCROLL |
Ширина битового образа стрелки
вертикальной полосы просмотра |
SM_CYBORDER |
Высота рамки для окна, размеры которого
нельзя изменять |
SM_CYCAPTION |
Высота заголовка окна |
SM_CYCURSOR |
Высота курсора |
SM_CYDLGFRAME |
Высота рамки окна, имеющего стиль WS_DLGFRAME |
SM_CYDOUBLECLK |
Высота прямоугольника, внутри которого
должны быть сделаны два щелчка мышью, для того
чтобы они могли распознаваться как один двойной
щелчок (double click). Эта константа определена только
для Windows версии 3.1 |
SM_CYFRAME |
Высота рамки для окна, размеры которого
можно изменять |
SM_CYFULLSCREEN |
Высота внутренней поверхности окна,
увеличенного до предела (maximised) |
SM_CYHSCROLL |
Высота битового образа стрелки
горизонтальной полосы просмотра |
SM_CYICON |
Высота пиктограммы |
SM_CYICONSPACING |
Высота прямоугольника, используемого
для расположения пиктограммы с заголовком. Эта
константа определена только для Windows версии 3.1 |
SM_CYKANJIWINDOW |
Высота окна Kanji |
SM_CYMENU |
Высота одной строки в полосе меню |
SM_CYMIN |
Минимальная высота окна |
SM_CYMINTRACK |
Минимальная высота окна, которая может
быть установлена при помощи мыши (Minimum tracking width of a
window) |
SM_CYSCREEN |
Высота экрана |
SM_CYSIZE |
Высота полосы битового образа заголовка
окна |
SM_CYVSCROLL |
Высота битового образа стрелки
вертикальной полосы просмотра |
SM_CYVTHUMB |
Высота ползунка горизонтальной полосы
просмотра |
SM_DBCSENABLED |
Флаг использования символов, состоящих
из двух байт (используется в тех языках, где для
представления всех символов не хватает
8-разрядной сетки). Эта константа определена
только для Windows версии 3.1 |
SM_DEBUG |
Флаг отладочной версии Windows. Он не равен
нулю, если работает отладочная версия Windows
(поставляется вместе с Microsoft SDK или Microsoft Visual C++) |
SM_MENUDROPALIGNMENT |
Флаг типа выравнивания временного меню
(pop-up menu). Если флаг равен нулю, левая сторона меню
выравнена по левой стороне соответствующего
элемента строки меню. В противном случае левая
сторона меню выравнена по правой стороне
соответствующего элемента строки меню. Эта
константа определена только для Windows версии 3.1 |
SM_MOUSEPRESENT |
Флаг не равен нулю, если компьютер
оборудован мышью |
SM_PENWINDOWS |
Идентификатор библиотеки динамической
загрузки DLL Pen Windows или 0, если Pen Windows не
используется. Эта константа определена только
для Windows версии 3.1 |
SM_RESERVED1 |
Зарезервировано |
SM_RESERVED2 |
Зарезервировано |
SM_RESERVED3 |
Зарезервировано |
SM_RESERVED4 |
Зарезервировано |
SM_SWAPBUTTON |
Если флаг не равен нулю, действия левой и
правой клавиши мыши поменялись местами, то есть
вместо левой клавиши используется правая и
наоборот, вместо правой - левая |