Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.07.2018, 22:09
vas31 vas31 вне форума
Прохожий
 
Регистрация: 11.07.2018
Сообщения: 6
Версия Delphi: Delphi 10.2
Репутация: 10
По умолчанию SynEdit - присваивание обработчиков событий

Доброго времени суток!

По клику на кнопку создаю новый 'TabSheet', далее в нём создаю новый экземпляр компонента 'SynEdit'.
Присваиваю обработчику 'OnGutterClick' этого компонента свою процедуру 'myGutterClick'.
Когда создан один экземпляр 'SynEdit', то всё отрабатывает нормально. Но стоит создать ещё несколько
экземпляров SynEdit-а (несколько табов), то мой обработчик события отрабатывает только на последнем
созданном SynEdit-е.

В интернете описываются случаи или с назначением на всего один экземпляр компонента (как правило кнопки)
или приводятся такие примеры, что пока "тёмный лес" для меня...

Как правильно назначать обработчики событий для SynEdit-а, когда динамически создаются
несколько его экземпляров ?


Мой код примера:
Код:
// кнопка
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
   ts  : TTabSheet;
   sed : TSynEdit;
begin
	with PageControl1 do
		begin
		// создаём новый таб
		ts := TTabSheet.Create(Self);
		ts.PageControl := PageControl1;
		ts.Caption := 'TabSheet' + IntToStr(PageCount);

		// создаём новый экземпляр 'SynEdit'
		sed := TSynEdit.Create(ts);
		sed.Parent := ts;
		// присваиваем обработчик события
		sed.OnGutterClick := myGutterClick;

	end;
end;


// моя процедура для события 'OnGutterClick'
procedure TForm1.myGutterClick(Sender: TObject; Button: TMouseButton; X, Y, Line: Integer; Mark: TSynEditMark);
begin
  ...
  код
  ...
end;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:25.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter