Вниз
Скачать: CL | DM;

Как полосы прокрутки узнают что надо скролинг еще возможен?   Найти похожие ветки 

 
ScrollBox   (2003-06-05 13:20) [0]

Мастаки, что мне надо отлавливать или это уже реализовано чтобы самому определять возможность скролинга?


 
Palladin ©   (2003-06-05 13:30) [1]

сравнивают положение бегунка и свой диапазон...
там на вкладке Events много событий...


 
ScrollBox   (2003-06-05 13:45) [2]


> сравнивают положение бегунка и свой диапазон...

нет бегунка у него Visible = false. а Position всегда 0.


 
Skier ©   (2003-06-05 13:46) [3]

WM_HSCROLL
WM_VSCROLL


 
ScrollBox   (2003-06-05 14:22) [4]


> Skier © (05.06.03 13:46

и как узнать что скролинг обьекта уже не возможен?


 
ScrollBox   (2003-06-05 14:49) [5]

мастаки, помогите... что надо отловить?
как этот месседж wm_hscroll - обработать? что он мне даст?


 
[lamer]Barmaglot ©   (2003-06-05 14:53) [6]

Готового кода нет. Посмотри F1+WM_VSCROLL

там все расписано. Например если сообщение пришло с параметром SB_LINEDOWN нужно сместится на одну позицию вниз и т.д.


 
titnn ©   (2003-06-05 22:21) [7]

>Готового кода нет. Посмотри F1+WM_VSCROLL

в справке по WM_VSCROLL как и по SB_*** нифига нету ...


 
Song ©   (2003-06-05 22:25) [8]

>>в справке по WM_VSCROLL как и по SB_*** нифига нету ...]
Да ладно..


 
titnn ©   (2003-06-05 23:00) [9]

у меня нету почему-то , D7 Enterprise


 
titnn ©   (2003-06-05 23:05) [10]

в продолжение темы , уже как то обсуждали , но толком никто ничего не сказал , TreeView , как запретить отображение HScroll , стандартными способами не получается , т.к. это не VCL компонент а Win32 .

просто ShowScrollBar(Handle,0,false); не подходит , т.к после перерисовки скролл все равно появится ...

отлавливать месаги ? но какие ?


 
titnn ©   (2003-06-05 23:12) [11]

пока предыдущее писал сам придумал ...

изменил в ComCtrls.pas

procedure TCustomTreeView.WndProc(var Message: TMessage);

begin
if not (csDesigning in ComponentState) and ((Message.Msg =
........................
else inherited WndProc(Message);
if (Handle>0) then ShowScrollBar(Handle,0,false);
end;


вот работает , но интересно насколько это есть хорошо ?







 
titnn ©   (2003-06-05 23:48) [12]

переопределил
procedure WndProc(var Message: TMessage); override;
в TTreeView , так правильнее , наверно


procedure TTreeView.WndProc(var Message: TMessage);
begin
inherited WndProc(Message);
if message.Msg=WM_CLOSE then exit;
if (message.Msg=WM_PAINT) and (Handle>0) then ShowScrollBar(Handle,0,false);
end;


но честно что-то слишком просто , боюсь что какие-то непредвиденные глюки появятся , или все нормально ?



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.015 c
6-60290
temp
2003-04-14 16:25
2003.06.19
Почему ошибка 500 в CGI?


4-60456
LIK
2003-04-19 19:16
2003.06.19
TreeView


1-60124
SoftAl
2003-06-06 12:57
2003.06.19
Установка Delphi


1-60120
Gamar
2003-06-06 09:59
2003.06.19
Чтение результата в ячейке Excel


1-60236
killer
2003-06-05 15:33
2003.06.19
Можно ли сделать в Windows98 так, чтобы все было как в XP




   Наверх