Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос на засыпку: как можно синхронизировать scrollbox-ы?
|
|||
|---|---|---|---|
|
#18+
Изменяешь положение бегунка у одного- аналогично изменяется у другого. Проблема в том, что у него нет события onScroll :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2002, 04:45 |
|
||
|
Вопрос на засыпку: как можно синхронизировать scrollbox-ы?
|
|||
|---|---|---|---|
|
#18+
Копать в сторону WM_VSCROLL, WM_HSCROLL и вокруг них. ______ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2002, 07:33 |
|
||
|
Вопрос на засыпку: как можно синхронизировать scrollbox-ы?
|
|||
|---|---|---|---|
|
#18+
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids; type {$IFDEF WIN32} WParameter = LongInt; {$ELSE} WParameter = Word; {$ENDIF} LParameter = LongInt; TForm1 = class(TForm) ScrollBox1: TScrollBox; StringGrid1: TStringGrid; ScrollBox2: TScrollBox; StringGrid2: TStringGrid; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; OldWindowProc : Pointer; implementation {$R *.DFM} function NewWindowProc(WindowHandle : hWnd; TheMessage : WParameter; ParamW : WParameter; ParamL : LParameter) : LongInt {$IFDEF WIN32} stdcall; {$ELSE} ; export; {$ENDIF} var TheRangeMin : integer; TheRangeMax : integer; TheRange : integer; begin if TheMessage = WM_VSCROLL then begin GetScrollRange(WindowHandle, SB_HORZ, TheRangeMin, TheRangeMax); TheRange := GetScrollPos(WindowHandle, SB_VERT); {Make sure we wont exceed the range} if TheRange < TheRangeMin then TheRange := TheRangeMin else if TheRange > TheRangeMax then TheRange := TheRangeMax; {Set the horizontal scroll bar} SetScrollPos(form1.ScrollBox2.Handle, SB_Vert, TheRange, true); end; if TheMessage = WM_HSCROLL then begin GetScrollRange(WindowHandle, SB_VERT, TheRangeMin, TheRangeMax); TheRange := GetScrollPos(WindowHandle, SB_HORZ); if TheRange < TheRangeMin then TheRange := TheRangeMin else if TheRange > TheRangeMax then TheRange := TheRangeMax; {Set the vertical scroll bar} SetScrollPos(form1.ScrollBox2.Handle, SB_HORZ, TheRange, true); end; NewWindowProc := CallWindowProc(OldWindowProc, WindowHandle, TheMessage, ParamW, ParamL); end; procedure TForm1.FormCreate(Sender: TObject); begin OldWindowProc := Pointer(SetWindowLong(ScrollBox1.Handle, GWL_WNDPROC, LongInt(@NewWindowProc))); end; procedure TForm1.FormDestroy(Sender: TObject); begin SetWindowLong(ScrollBox1.Handle, GWL_WNDPROC, LongInt(OldWindowProc)); end; end. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2002, 16:01 |
|
||
|
Вопрос на засыпку: как можно синхронизировать scrollbox-ы?
|
|||
|---|---|---|---|
|
#18+
Пардо не дописал- положение скролов синхронизируется, а содержимое вот не прокручиватся :( что делать?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2002, 16:02 |
|
||
|
Вопрос на засыпку: как можно синхронизировать scrollbox-ы?
|
|||
|---|---|---|---|
|
#18+
Спасибо, разобрался! Ну и ламмер я! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2002, 16:09 |
|
||
|
Вопрос на засыпку: как можно синхронизировать scrollbox-ы?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. Я бы конечно создал класс-наследник - где бы и перекрыл WM_VSCROLL , WM_HSCROLL . Но у тебя красивше ... ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2002, 16:12 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32072051&tid=2119612]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
72ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 187ms |

| 0 / 0 |
