Системные метрики
Метрики системных компонент Windows можно определить при помощи функции GetSystemMetrics, имеющей следующий прототип:
int WINAPI GetSystemMetrics(int nIndex);
Единственный параметр функции (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 | Если флаг не равен нулю, действия левой и правой клавиши мыши поменялись местами, то есть вместо левой клавиши используется правая и наоборот, вместо правой - левая |