Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Синхронизация работы 2-x Memo [D5]


Анастасия ©   (2002-11-17 11:12:00) 

Здравствуйте! Подскажите, пожалуйста! На форме 2 Memo - хотелось бы, чтобы когда изменяется текущая позиция курсора в одном, во втором курсор бы тоже перемещался на эту строку. Заранее спасибо большое.


Анастасия   (2002-11-18 11:50:00) [1]

Спасибо большое всем ответившим, но больше всех, конечно, MBo, ибо его ответ оказался самым полезным :-)
На будущее всяким товарищам Быковым советую больше внимания уделять ОТВЕТУ на вопрос, а не издевательствам над бедными девушками :-Р


MBo   (2002-11-18 06:48:00) [2]

private
OldProc:TWndMethod;
procedure NewProc(var m:TMessage);

procedure TForm1.FormCreate(Sender: TObject);
begin
OldProc:=Memo1.WindowProc;
Memo1.WindowProc:=NewProc;
end;

procedure TForm1.NewProc(var m: TMessage);
begin
if (m.Msg=wm_vscroll) or (m.Msg=wm_hscroll)
or (m.Msg=wm_keydown) or (m.Msg=wm_keyup) then begin
//еще wm_char можно отслеживать
SendMessage(memo2.Handle,m.msg,m.wparam,m.lparam);

// memo2.selstart:=memo1.selstart;
// при необходимости
end;
OldProc(m);
end;


PaRL   (2002-11-17 21:14:00) [3]

ООООО! Устроили блин. КУРСОР и КАРЕТКА - разные вещи.
Я сразу понял про что она говорит - про каретку, так как курсор и там и там не может быть!

CaretPos


Shadow   (2002-11-17 18:34:00) [4]

2Анастасия
А не легче ли сделать это ListBox"ами?


Николай Быков   (2002-11-17 17:13:00) [5]

Можна! Я щас попробывал!
Тебе сказать куда посмотреть как это мона сделать или ты не заглянешь туда?
ЗЫ
Это не статься/исходник, а хелп, такое страшное для многих новичков слово.
Могу дать там адреса, но это только, если ты туда смотреть будешь.
ЗЗЫ
А тебе интересно как я проверю смотрела ты или нет? Ты мне будешь должна показать исходник, где ты с этим справилась способом из хелпа


Анастасия   (2002-11-17 16:43:00) [6]

Ну да, в общем, плохо я выразилась :-)
Курсор тут собственно вообще ни причем. Он один для всех :-)
Надо чтоб когда в одном мемо дергают скролл, во втором чтоб он тоже дернулся до этого же места :-) Уф, сама запуталась объяснять :-) Расскажу идею тогда, чтоб понятней было. В этих мемо - одна и та же информация, представленная по-разному, причем
каждой строке memo1 соответствует та же строка memo2. Так вот очень бы хотелось, чтобы пользователь мог одновременно видеть, как эта строка выглядит в memo1 и как в memo2, а этому мешают scrollbar"ы, которые работают несинхронно. Вот в этом вся проблема. Если и это сочинение непонятно, тогда, наверное, эта проблема в принципе неразрешима :-)


Николай Быков   (2002-11-17 16:26:00) [7]


> Анастасия (17.11.02 15:28)

А как ты себе это представляешь?
Когда ты работаешь с одним мемо, то этот курсор в нем, а когда с другим, то курсор во втором.
Даже если и поставить курсор куда-нибудь во втором мемо, то когда ты щелкнешь на нем, то курсор переместится туда, где ты щелкнула!

Короче либо я тебя не понимаю, либо ...............


Анастасия   (2002-11-17 15:28:00) [8]

Хотелось бы, чтобы когда в одном мемо пользователь ставит курсор на n-ую строку, на ту же n-ую строку ставился бы курсор и во втором мемо. Плюс в каждом мемо есть сколлбары - хотелось бы чтоб и они соответственно перемещались. Надеюсь, теперь вопрос более понятен, если нет - скажите, что именно непонятно.


Николай Быков   (2002-11-17 12:08:00) [9]


> PaRL © (17.11.02 12:06)
> CaretPos

Это было первое о чем я подумал. Но давай все же послушаем что нам скажет Анастасия. Мне кажется, что мы подумали не о том, что она хочет услышать от нас


PaRL   (2002-11-17 12:06:00) [10]

CaretPos


Николай Быков   (2002-11-17 11:46:00) [11]


> Анастасия (17.11.02 11:12)

Неа. Не понял я тебя. Скажи еще раз


Наверх

Титульная страница Поиск, карта сайта Написать письмо