Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/30: Рейтинг темы: голосов - 30, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 11

OnClick

30.05.2009, 13:59. Показов 5662. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
int a=0;
void __fastcall TForm1::Image1Click(TObject *Sender)
{
TImage *Image = new TImage(Form1);
Image->Parent = Form1;
Image->Picture->LoadFromFile("file");
Image->OnClick = OnClick; {Image->Picture->LoadFromFile("file2");}
Image->Top =a;a=a+105;
//Как сделать чтобы у каждой новой Image был свой клик
//и в каждом клике создать Image->Picture->LoadFromFile("file2");
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.05.2009, 13:59
Ответы с готовыми решениями:

OnClick непонятно
Привет! у меня есть класс class voin { public TImage *imag; voin(){ imag =new TImage(Form1); ...

OnClick + OnDblClick
Здравствуйте! Есть панелька, хочу сделать 2 события - OnClick и OnDblClick. желаемого результата не получаю. при двойном щелчке сначала...

OnClick на TreeView
Вот такая проблемка. Есть TreeView. По клику мышкой на листе дерева этот лист становится выделенным и происходит его нормальная...

11
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
30.05.2009, 14:15
Ну чёт я не понял.... всё правильно, только
C++
1
2
3
void __fastcall TForm1::ImageClick(TObject* Sender){
((TImege*)Sender)->Picture->LoadFromFile("File.bmp");
}
И хоть где прописываешь: Image1->OnClick = ImageClick;
0
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 11
31.05.2009, 12:53  [ТС]
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
int a=0,b=0;
TImage *Image[1000000];
void __fastcall TForm1::ImaClick(TObject* Sender)
{
Image[b] =new TImage(Form1);
Image[b]->Parent =Form1;
Image[b]->Left = a;a=a+105;
if(b == 0){Image[b]->OnClick = Image0Click;}
if(b == 1){Image[b]->OnClick = Image1Click;}
if(b == 2){Image[b]->OnClick = Image2Click;}
if(b == 3){Image[b]->OnClick = Image3Click;}
//...и так до бесконечности
//if(b == "Безконечности"){Image->OnClick = Image"Безконечности"Click;}
Image[b]->Picture->LoadFromFile("foto\\1.bmp");
b++;
}
 
void __fastcall TForm1::Image0Click(TObject* Sender)
{
Image[0]->Picture->LoadFromFile("foto\\2.bmp");
}
 
void __fastcall TForm1::Image1Click(TObject* Sender)
{
Image[1]->Picture->LoadFromFile("foto\\2.bmp");
}
 
void __fastcall TForm1::Image2Click(TObject* Sender)
{
Image[2]->Picture->LoadFromFile("foto\\2.bmp");
}
 
void __fastcall TForm1::Image3Click(TObject* Sender)
{
Image[3]->Picture->LoadFromFile("foto\\2.bmp");
}
//... и так до бесконечности
void __fastcall TForm1::Image1000000Click(TObject* Sender)
{
Image[1000000]->Picture->LoadFromFile("foto\\2.bmp");
}
/*
Меня интересует вопрос вотакой способ один или можно както подругому написать по проще.
То очень много текста полючается
*/
0
Фрилансер
 Аватар для Black Fregat
3709 / 2082 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
31.05.2009, 13:20
Зачем тебе каждому рисунку назначать отдельный обработчик?
Сделай один на всех:
C++
1
2
3
4
5
void __fastcall TForm1::Image1Click(TObject* Sender)
{
  TImage*img = dynamic_cast<TImage*>(Sender);
  if (img) img->Picture->LoadFromFile("foto\\2.bmp");
}
1
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 11
02.06.2009, 15:13  [ТС]
Нужно узнать на какой фотке был клик
При клике на любую Image[b]->Click()
нужно узнать клик произашол Image[2]->Click() или Image[25]->Click()
или Image[45]->Click()
как узнать
0
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
02.06.2009, 15:25
Свойство Tag выставь для каждой фотки разное и по нему определяй на какой фотке щёлкнули.
C++
1
2
3
4
5
6
void __fastcall TForm1::Image1Click(TObject* Sender)
{
  TImage*img = dynamic_cast<TImage*>(Sender);
  if (img) img->Picture->LoadFromFile("foto\\2.bmp");
 if (img->Tag==1) //тут обработка щелчка по фотке с тегом "1"
}
З.Ы. Сейчас С-Билдера на компе нет, потому по памяти пишу. Но вродь так.
0
Фрилансер
 Аватар для Black Fregat
3709 / 2082 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
05.06.2009, 10:59
Цитата Сообщение от bot666 Посмотреть сообщение
Нужно узнать на какой фотке был клик
Мой код определяет, на какой фотке был клик. Именно она попадает в img
0
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
05.06.2009, 22:18
Цитата Сообщение от Black Fregat Посмотреть сообщение
Мой код определяет, на какой фотке был клик. Именно она попадает в img
Согласен. Но с оговоркой. Это работает если только надо выполнить какую-то операцию с собственно рисунком на форме (загружать один и тот же файл в разные рисунки, например). А если нужно выполнить какоето другое действие? Например загружать разные файлы для разных рисунков. То как определить номер рисунка на форме?
0
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
06.06.2009, 09:38
C++
1
2
3
4
5
void __fastcall TForm1::Image1Click(TObject* Sender)
{
TImage *m = ((TImage*)Sender);
ShowMessage(m->Name);//вот те и имя.
}
Чё вы все тупите в этой теме...??
0
 Аватар для QenT
40 / 40 / 8
Регистрация: 29.01.2009
Сообщений: 244
06.06.2009, 13:21
Цитата Сообщение от DanUnited Посмотреть сообщение
C++
1
2
3
4
5
void __fastcall TForm1::Image1Click(TObject* Sender)
{
TImage *m = ((TImage*)Sender);
//вот те и имя.
}
Чё вы все тупите в этой теме...??
Совершенству нет предела
C++
1
ShowMessage(((TImage*)Sender)->Name);
0
Фрилансер
 Аватар для Black Fregat
3709 / 2082 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
06.06.2009, 13:51
А чего это вы замену dynamic_cast на прямое преобразование выдаете за совершенство? Типа вы сами хорошо знаете, что в Sender просто обязан лежать TImage*?

Вообще, для ваших упражнений достаточно приводить к TComponent*
0
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 11
30.06.2009, 15:38  [ТС]
Народ ещо одна проблема при перетаскивание фотки полючается так
содал одну фотку потом ещо одну, втоорая фотка она кабы над первый фоте перемещяется, а если перетаскивать 1 фотку через в торую курсор цыпяет 2 фотку дальше перетаскивается 2 фотка а нада чтобы первоя перетаскивалося дальше.
Пробывал delete new вовремя перетаскивание происходили чудеса
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.06.2009, 15:38
Помогаю со студенческими работами здесь

OnClick в WebBrowser'е
Как можно организовать такое событие, как OnClick в WebBrowser'е? Нужно, чтобы например загрузилась страница, на ней кликнули по...

OnClick в Image???
Здравствуйте!!! :) Подскажите пожалуйста как сделать OnClick в Image по нажатию на Enter??? Я делаю так: if (Key == VK_RETURN)...

Выход из обработчика onclick
Добрый день! У меня есть примерно такой код в С++ builder: void __fastcall TForm1::Button1Click(TObject *Sender) { while(1)...

OnClick для Shape
У элемента TShape нет метода OnClick. Как можно проще всего его реализовать подскажите пожалуйста.

Функция OnClick - не работает
Пробовал - не получалось. void __fastcall TForm1::StartButtonClick(TObject *Sender) { Panel1-&gt;OnClick-&gt;Color=clGreen; }...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru