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

ScrollBar   Найти похожие ветки 

← →
Mars   (2003-03-12 17:03) [0]

На форме два одинаковых RichEdit"a.
Как при перемещении горизонтального скрола в одном RichEdit"е
оновременно перемещать его также в другом?

Думаю надо при перемещении скрола споймать сообщение от одного RichEdit"a и послать другому, но чтото на практике не получается.

Подкиньте, может, другую идею...


← →
_Flash_   (2003-03-12 21:03) [1]

Проще всего перехватить оконную процедуру и написать сой обработчик
пишу по памяти



var OldProc: pointer;
.
.
.
oldProc:=GetWindowLong(RichEdit1.Handle,GWL_WNDPROC);
SetWindowLong(RichEdit1.Handle,GWL_WNDPROC,Integer(@MyWndProc));

и в MyWndProc

if Msg=WM_HSCROLL then
...


← →
Mars   (2003-03-13 12:11) [2]

Похоже, что скроллинг RichEdit"a работает не с WM_HSCROLL


← →
Diamond Cat ©   (2003-03-15 01:39) [3]

конкретный пример
public
{ Public declarations }
end;
var
Form1 : TForm1;
OldWindowProc : Pointer;

implementation

{$R *.dfm}

function mHScrolProc(WindowHandle:hWnd; TheMessage:uint;
ParamW:WParam; ParamL : LParam) : LongInt {$IFDEF WIN32} stdcall;
{$ELSE} ; export; {$ENDIF}
begin

if TheMessage = WM_HSCROLL then
sendmessage(Form1.RichEdit2.handle,TheMessage,ParamW ,ParamL);
mHScrolProc := CallWindowProc(OldWindowProc, WindowHandle, TheMessage,ParamW, ParamL);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
OldWindowProc:=pointer(getwindowlong(richedit1.handle,GWL_WNDPROC));
setwindowlong(richedit1.handle,GWL_WNDPROC,integer(@mHScrolProc));
end;



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

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



Память: 0.45 MB
Время: 0.012 c
6-46892
Собеседник
2003-03-17 19:10
2003.05.15
Как работать с файлами в скрытой сетевой папке?


1-46721
lameridze
2003-05-04 12:51
2003.05.15
procedure


3-46571
Alexis
2003-04-22 18:45
2003.05.15
CachedUpdates, ApplyUpdates & exceptions


1-46678
V-A-V
2003-04-30 11:03
2003.05.15
глюки с Word


6-46887
Сергей М.
2003-03-17 09:39
2003.05.15
Подключение удаленного доступа




   Наверх