if (uMsg=WM_VSCROLL) or (uMsg=WM_HSCROLL) then Form2.memo2.Perform(uMsg,wParam,lParam);
result:=CallWindowProc(Pointer(GetWindowLong(wnd,GWL_USERDATA)),wnd,uMsg,wParam,lParam)
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
SetWindowLong(Memo1.Handle,GWL_USERDATA,SetWindowLong(Memo1.Handle,GWL_WNDPROC,LPARAM(@NewWindowProc)));
memo1.SelStart:=0;
memo2.SelStart:=0;
end;
Не могу перевести это на си++:
SetWindowLong(Memo1->Handle, GWL_USERDATA, SetWindowLong(Memo1->Handle, GWL_WNDPROC, LPARAM(NewWindowProc)));
На это RAD ругается: [bcc32c Error] Unit1.cpp(35): cannot compile this scalar expression yet
Кто-то может пояснить, что вообще здесь происходит? Я так понимаю, идея - установить функцию обратного вызова NewWindowProc() на какие-то сообщения в Memo1, а уж NewWindowProc() их транслирует в Memo2?
Этот код на Делфи работает?
Обсуждают сегодня