Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.15;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.012 c
4-47037
BVK
2003-03-13 22:22
2003.05.15
Использование Drag&Drop между приложениями


1-46699
region
2003-05-04 00:07
2003.05.15
ONCHANGE


8-46851
Eugeny (r66)
2003-02-05 10:43
2003.05.15
bmp(24bit) -> gif(4bit) (+)


1-46766
Azazello
2003-05-01 09:20
2003.05.15
О свойстве файла.


14-46950
sucer
2003-04-25 17:09
2003.05.15
А почему бы этом сайте не разместить серийники для всех версий