Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
1

Один обработчик для нескольких Image

21.02.2016, 20:59. Показов 822. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят подскажите плиз как работать с обработчиками компонентов а то ни где инфы нет "русскоязычной". Вопрос имеется несколько компонентов image, при нажатии мышкой на image он "действует" как button т.е "присел" & "поднялся". Писать для каждого из них обработчик мне не трудно , но хотелось бы понять как это работает : один обработчик для нескольких обинаковых объектов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
void __fastcall TForm1::ImageoffMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
{
    Imageoff->Left = Imageoff->Left + 2;
    Imageoff->Top = Imageoff->Top + 2 ;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::ImageoffMouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
{
    Imageoff->Left = Imageoff->Left - 2;
    Imageoff->Top = Imageoff->Top - 2 ;
}
//
---------------------------------------------------------------------------
//
//
void __fastcall TForm1::ImagerebootMouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
{
    Imagereboot->Left = Imagereboot->Left - 2;
    Imagereboot->Top = Imagereboot->Top - 2 ;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::ImagerebootMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
{
    Imagereboot ->Left = Imagereboot->Left + 2;
    Imagereboot->Top = Imagereboot->Top + 2 ;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::ImagespyatMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
{
    Imagespyat->Left = Imagespyat->Left + 2;
    Imagespyat->Top = Imagespyat->Top + 2 ;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::ImagespyatMouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
{
    Imagespyat->Left = Imagespyat->Left - 2;
    Imagespyat->Top = Imagespyat->Top - 2 ;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2016, 20:59
Ответы с готовыми решениями:

TMainMenu Один обработчик для нескольких пунктов
Всем доброго времени суток. Задача : Создать несколько подпунктов меню (лучше динамически) и...

Один обработчик для 9 кнопок
Привет, ребята. Нужна Ваша помощь. Пишу небольшую обучающую программку. Вот в чем проблема. На...

Один обработчик для 100 кнопок?
На форме есть 100 кнопок. Как сделать один раз для всех кнопок, чтобы не описывать нажатие для...

Один обработчик для нескольких кнопок
Вопрос: Как для калькулятора создать один обработчик для цифровых кнопок (0-9), чтобы для каждой...

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32990 / 21296 / 8180
Регистрация: 22.10.2011
Сообщений: 36,589
Записей в блоге: 8
21.02.2016, 21:02 2
C++
1
2
3
4
5
6
7
void __fastcall TForm1::ImagerebootMouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
{
    TImage *im = static_cast<TImage*>(Sender);
    im->Left = im->Left - 2;
    im->Top = im->Top - 2;
}
И назначить этот метод всем изображениям на событие OnMouseUp. Аналогично и для остальных обработчиков, работать через Sender...
1
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
21.02.2016, 21:46  [ТС] 3
volvo, компилируется без ошибок только вот код не исполняется при нажатии на image.

Добавлено через 53 секунды
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::ImageMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
{
    TImage *im = static_cast<TImage*>(Sender);
    im ->Left = im->Left + 2;
    im->Top = im->Top + 2 ;
 
}
void __fastcall TForm1::ImageMouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
{
    TImage *im = static_cast<TImage*>(Sender);
    im ->Left = im->Left - 2;
    im->Top = im->Top - 2 ;
}
Добавлено через 7 минут
Похоже на то что система не знает про обработчики :
void __fastcall TForm1::ImageMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)

void __fastcall TForm1::ImageMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
0
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
21.02.2016, 21:52 4
Цитата Сообщение от volvo Посмотреть сообщение
И назначить этот метод всем изображениям на событие OnMouseUp.
Это было сделано?
0
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
21.02.2016, 22:08  [ТС] 5
volvo, спасибо разобрался , надо еще в инспекторе объектов этот обработчик присвоить каждому image.

Добавлено через 13 минут
BRcr, да сделал , через 5-ть минут догадался выставить в инспекторе объектов.
0
21.02.2016, 22:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2016, 22:08
Помогаю со студенческими работами здесь

Один обработчик для нескольких PictureBox
Всем доброго времени суток. Есть много пикчер боксов около 16 штук, и на каждый нужно привязать...

Один обработчик для нескольких ImageButton
Есть у меня несколько ImageButton на TableView. На них изображение. Создаю обработчик дерез...

Один обработчик для нескольких switch
Привет. Делаю приложение для управления устройством на ардуино по блютуз. Кое как разобрался как...

Один обработчик событий для нескольких кнопок
Подскажите как создать один обработчик для нескольких кнопок?У меня на листе ехсеl есть 2 кнопки...

Один обработчик события для нескольких TextBox'ов
Добрый день! У меня в приложении 4 текстбокса пишу код для запрета ввода букв, как его применить...

Один обработчик событий для нескольких объектов
Здравствуйте, подскажите пожалуйста, как так сделать? В VB.NET надо после Handler(вроде) писать, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru