Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2013, 14:46   #1
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию Обратиться к нужному RichEdit

Всем привет.
Собственно, программа динамически создает вкладки на PageControl, и на этих вкладках также компоненты ToolBar (с кнопками) и RichEdit.
Всем динамически создаваемым компонентам (на вкладке) присваивается один и тот-же Tag.
Также каждой кнопке на ToolBar при создании назначается обработчик OnClick, который должен обращаться к RichEdit-у на этой же вкладке.

Можно как-нибудь реализовать обращение к нужному RichEdit? Или я себя загнал в тупик, и зря мучаюсь уже второй день?
Xo66um вне форума Ответить с цитированием
Старый 28.11.2013, 14:53   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

ToolBar то на вкладке лежит, напрямую или опосредовано. По цепочке найти Parent-а c типом TTabScheet. И в его ребенках поиcкать RichEdit, возможно тоже по цепочке, если у RichEdit-а есть промежуточный родитель. Хорошо если RichEdit единственный, иначе придется еще среди них чего-то мудрить.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.11.2013, 15:48   #3
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию

Аватар, воспользовался вашим советом, родителя вроде нахожу правильно, и вроде как правильно обращаюсь к нужному RichEdit-у, но появилась другая проблема...

Пишет ошибку: Incompatible types: 'TNotifyEvent' and 'procedure, untyped pointer or untyped parameter'

Назначаем обработчик кнопки при его создании:
Код:
...
ToolBar.Buttons[1].OnClick := Test(ToolBar);
...
Сам обработчик кнопки:
Код:
procedure Test(ToolBar: TToolBar);
var
 i: integer;
begin
 for i := 0 to ToolBar.Parent.ComponentCount-1 do
  begin
   if ToolBar.Parent.Components[i] is TRichEdit then
    begin
     (ToolBar.Parent.Components[i] as TRichEdit).Text := 'Ура! Получилось!';
    end;
  end;
end;
В чем может быть проблема?
Xo66um вне форума Ответить с цитированием
Старый 28.11.2013, 15:50   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
procedure TForm1.Test(Sender: TObject);

.......

ToolBar.Buttons[1].OnClick := Test;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.11.2013, 15:58   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
Или я себя загнал в тупик, и зря мучаюсь уже второй день?
это скорее всего, есть фреймы к примеру, там ненадо ничего искать
eval вне форума Ответить с цитированием
Старый 28.11.2013, 16:00   #6
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию

Скомпилировалось, но не работает =(

UPD:
Ан нет, работает, но на другой вкладке... Видимо косяк с определением родителя...

Спасибо большое, Аватар.

Последний раз редактировалось Xo66um; 28.11.2013 в 16:05.
Xo66um вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Array of ^Integer как подобраться к нужному индексу? WhiskasTM Общие вопросы Delphi 2 31.08.2012 12:08
Загрузка в RichEdit текста из файла, и получение его из RichEdit Byurrer Общие вопросы C/C++ 1 09.04.2011 10:17
Как присоединить список імён к нужному полю clanz Microsoft Office Access 2 27.02.2010 12:23
обратиться к ячейке borik120 Microsoft Office Excel 6 30.01.2010 15:08
Вставка изображения с RichEdit в RichEdit Sensizu Компоненты Delphi 2 01.10.2009 18:11