C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Программная передача события  (Прочитано 3183 раз)
Sergey1985
Участник


Сказали спасибо: +8/-1
Offline

Сообщений: 310


Программная передача события
« : 23 Сентябрь 2013, 12:37:01 »

Здравствуйте. Честно говоря так и не смог обозначить свой вопрос грамотно но в чем он заключается поясню подробно. На форме имеется несколько компонентов класса TEdit (Edit1, Edit2, ... Edit10)   Причем все они выполняют схожие действия поэтому я им просто Tag разные задал и в зависимости от него они выполняют различные операции. Потом воспользовался известной всем и каждому техникой определения Tag'а   в обработчике OnKeyPress написал
int tag = ((TEdit*)Sender)->Tag;
и после его получения уже начинаю плясать. 
Но вот в чем незадача : 
В программе приходится с параллельного потока вызывать обработчик этого самого события OnKeyPress
Я это делаю след образом
  к примеру
    Edit5->Text = IntToStr(per);  // per  - переменная типа int расчитываемая в другой части проги
    Edit5->SetFocus();
    Edit5->OnKeyPress;
(всем Edit'ам в инспекторе событие задано тут все норм)
Но ничего не происходит. Как мне Sender'у указать именно на нужный Edit?    
Перечитал уже все что можно было по этому поводу но ответа так и не нашел
Help me please    если вопрос не понятен скажите постараюсь изложить поконкретней.
Записан
volvo877
Глобальный модератор


Сказали спасибо: +736/-1
Offline

Сообщений: 891


Re: Программная передача события
« Ответ #1 : 23 Сентябрь 2013, 13:32:01 »

А что должно происходить? Хочется программно вызвать обработчик события OnKeyPress? Для этого не надо работать с OnKeyPress, просто вызови

Код
    wchar_t wch; // ну или char, если Билдер неюникодный
   Edit1KeyPress(Edit5, wch); // Если обработчик от Edit1 навешивался всем остальным
, и посмотри, что будет...

Я надеюсь, с параллельного потока это делается через Synchronize()?

Или что-то другое хочется, чтобы произошло? Тогда конкретизируй...
Записан
Sergey1985
Участник


Сказали спасибо: +8/-1
Offline

Сообщений: 310


Re: Программная передача события
« Ответ #2 : 23 Сентябрь 2013, 17:36:44 »

а что это за переменная wch какой у нее смысл и чему она должна быть равна
   wchar_t wch; // ну или char, если Билдер неюникодный
    Edit1KeyPress(Edit5, wch);
Записан
Sergey1985
Участник


Сказали спасибо: +8/-1
Offline

Сообщений: 310


« Ответ #3 : 23 Сентябрь 2013, 17:38:04 »

а стоп понял спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.111 секунд. Запросов: 19.