Текущий архив: 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.45 MB
Время: 0.052 c