Что нового

Как узнать размер рабочей области окна без полосы прокрутки?

Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Re: Как узнать размер рабочей области окна?

обнаружил что в каком окне не нажимаю F2 то $SM_CXVSCROLL постоянно выдаёт 17 пикселей в консоли, хотя в окне нет вертикальной полосы прокрутки.
не пойму что не так делаю?
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Re: Как узнать размер рабочей области окна?

agikon
Функция просто выдаёт размер системных элементов, и не проверяет есть ли в окнах прокрутка. Возможно даже просто читает их из реестра например отсюда "HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics" и некоторые в других разделах.
А что за окно? Прокрутка там для прокрутки окна или например для прокрутки ListView. Для ListView есть функция _GUICtrlListView_SubItemHitTest, которая проверит сделан ли клик в клиентской области ListView или на прокрутке или на заголовке.
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Re: Как узнать размер рабочей области окна?

да обычное окно.
любое окно если сжать то появится вертикальная прокрутка.

клик делается на рабочей области, но ширина всегда берется с полосой, если она там есть.

то есть скрипт должен проверять есть или нет полоса, и если есть то вычитается.
вот есть какието функции которые бы определяли есть полоса или нет?
 
Верх