Перейти к содержанию
СофтФорум - всё о компьютерах и не только

rabbit

Новички
  • Постов

    4
  • Зарегистрирован

  • Посещение

Информация о rabbit

Достижения rabbit

0

Репутация

  1. Вобщем была проблема похожая, но уже и сам разобрался. Обработчик для каждой кнопки можешь создавать отдельный, или же если у них код одинаковый то лучше один. Я в делфи не работал , так что извеняй, даю код для си, кто сможет, то опишите все это только для делфи: Назначение обработчика NewButton->OnClick = ButtonClick; где в заголовочном файле обьявлено в класе формы(где и остальные обработчики) void __fastcall NewButtonClick(TObject *Sender); а в исполняемом модуле описано код обработчика void __fastcall TGameForm::HeroeClick(TObject *Sender) { AnsiString Name = (TComponent(Sender))->Name; // узнать имя кнопки. Смысл в том, что просто узнать из сендера имя /*нужный код*/ //нельзя. Нужно сначала преобразовать его в тип компонентов // преобразование - это (тип)<переменная>, и конечно чтобы оно воспринималось как указатель, то берем все еще раз в //скобы /* В конце имени не обизательно писать ее номер i. Если у тебя есть такое свойство, которое не используеться в языке, //например в си это Tag, то можно заносить туда индекс кнопки } Вот и все вроде что могу посоветовать. :D
  2. вобщем - назначение обработчика события for(i=1; i<=40; i++) { Heroe = new TImage(GameForm);//масив картинок прописан раньше TImage* Heroe[160]; Heroe->Parent = GameForm; ...//описание координат, загрузка картинки Heroe->OnClick = HeroeClick; } обработчик: void __fastcall TGameForm::HeroeClick(TObject *Sender) { TImage *Name = (TImage*) Sender; //Как считать имя обьекта нашел на одном сайте програмиста по СИшке. // Но Name->Name оказываеться пустым //Пробовал писать "Sender->" и дальше перебирал все функции и параметры, //но не нашел как узнать имя обьекта } У меня ведь обьектов типа картинка 160. Я не могу понять как узнать индекс Героя. Везде по сайтах пишут как это делать, но на примере кнопки. Проверял, дак при использовании кнопки в указателе сендер есть имя обьекта. Чуствую долго я буду учиться на програмиста
  3. Начинающий програмист. C++ Builder 6 для себя. По учебе Pascal
  4. Ну не знаю. :) У меня все нормально. TButton* MyButton = new TButton(<родитель>) и т.д. Лично у меня другая проблема. Создаю TImage* Heroe[100]; потом динамически обьявляю Heroe = new TImage(0); Heroe->Parent = Form1; и тому подобное. Для всех Heroe[100] у меня один обработчик void __fastcall HeroeClick(TObject *Sender); Как я могу узнать в обработчике(клик мышкою) какой именно Heroe вызвал этот обработчик. Пробовал через *Sender узнать, ничего не вышло. Кто знает помогите!!! :)
×
×
  • Создать...