Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.16;
Скачать: CL | DM;

Вниз

Размеры прокрутки   Найти похожие ветки 

 
JanMihail ©   (2007-07-06 16:55) [0]

Как определить размеры полосы прокрутки? Т.е. ширину и высоту прокрутки в определенном окне. Известен HWND окна.
Пробовал так:
pInfo: TScrollBarInfo;
...
 GetScrollBarInfo(Handle, Handle, pInfo);
 Caption := IntToStr(pInfo.rcScrollBar.Right - pInfo.rcScrollBar.Left);

По коду в Caption формы должна записаться ширина прокрутки, но почему то всегда возвращается 0.
Помогите пожалуйста!!!


 
Dib@zol ©   (2007-07-06 17:00) [1]

Должно прокатить...

function GetSBDimens(W:HWND):TRect;
var wp : WINDOWPLACEMENT;
begin
 GetWindowPlacement(W, @wp);
 Result:=wp.rcNormalPosition;
end;


 
JanMihail ©   (2007-07-06 17:15) [2]


> Dib@zol ©   (06.07.07 17:00) [1]

Это не то. Мне не нужны размеры окна, мне нужны размеры прокрутки(ScrollBar)


 
Dib@zol ©   (2007-07-06 17:30) [3]

rcScrollBar: TRect;
Нет ну а что это по-твоему? Хочешь сказать, скроллбар не окно, а Handle-это HWND родителя? Тогда вызывай FindWindowEx(Handle, 0, "SCROLLBAR", nil) и уже у него получай размеры по методу из [1].


 
clickmaker ©   (2007-07-06 17:33) [4]


> GetScrollBarInfo(Handle, Handle, pInfo);


pInfo.cbSize := Sizeof(TScrollBarInfo);
GetScrollBarInfo(Handle, OBJID_VSCROLL, pInfo);


 
Юрий Зотов ©   (2007-07-06 17:47) [5]

GetSystemMetrics?


 
Dib@zol ©   (2007-07-06 17:57) [6]


> Юрий Зотов ©   (06.07.07 17:47) [5]
> ширину и высоту прокрутки


Через GetSystemMetrics можно получить только одну из этих величин для данного скроллбара. => не катит.


 
JanMihail ©   (2007-07-06 18:14) [7]

СПАСИБО clickmaker!!!


 
hommRO   (2007-07-06 22:11) [8]

> [6] Dib@zol ©   (06.07.07 17:57)
> Через GetSystemMetrics можно получить только одну из этих
> величин для данного скроллбара.

Всегда считал, что вторую можно получить с помощью банальной эрудиции и нехитрой математики.



Страницы: 1 вся ветка

Текущий архив: 2007.09.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
11-1169615992
dedo
2007-01-24 08:19
2007.09.16
SmoothDIB


2-1187699724
Ricks
2007-08-21 16:35
2007.09.16
Отловить события для стандартных кнопок окна


15-1187291152
Piter
2007-08-16 23:05
2007.09.16
Acer TravelMate 2492, кривые драйвера на оф. сайте?


15-1187544249
Ломброзо
2007-08-19 21:24
2007.09.16
Посоветуйте движок


8-1165399331
Галинка
2006-12-06 13:02
2007.09.16
Метод Refresh и событие Paint