Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как програмно создать обработчик событий? / 4 сообщений из 4, страница 1 из 1
26.05.2004, 12:42
    #32534307
drug
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как програмно создать обработчик событий?
Люди добрые, подскажите пожалуйста как програмно создать обработчик события OnMouseEnter на компонент TLabel, который создается следующим образом:

for (int i=1; i<27; i++)
{
TLabel *lngLabel = new TLabel (Form1);
lngLabel->Parent=Form1->Panel1;
lngLabel->Left=i*20;
lngLabel->Top=4;
lngLabel->Caption=title ;
}

Жду ваших ответов...
...
Рейтинг: 0 / 0
26.05.2004, 12:57
    #32534348
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как програмно создать обработчик событий?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
void __fastcall MyLabelMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
   ShowMessage("Hello World !");
}

lngLabel->OnMouseMove =  MyLabelMouseMove;


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
26.05.2004, 13:14
    #32534432
drug
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как програмно создать обработчик событий?
JibSkeart
void __fastcall MyLabelMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
ShowMessage("Hello World !");
}

lngLabel->OnMouseMove = MyLabelMouseMove;


Если можно опишите поподробнее как мне сделать так, чтобы на при наведении на все эти программно созданные Label`ы они меняли цвет, а при нажатии на них в Edit1->Text записывалось название того Label`а на котором нажали....

Вот такая запутанная задача стоит передо мной.. надеюсь на помошь!!!
...
Рейтинг: 0 / 0
26.05.2004, 13:41
    #32534531
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как програмно создать обработчик событий?
ну можно например так

Код: plaintext
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.
void __fastcall TForm1::MyLabelMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
   if (dynamic_cast<TLabel*>(Sender))
   {
     dynamic_cast<TLabel*>(Sender)->Color = clRed;
   }
}  

void __fastcall TForm1::LabelClick(TObject *Sender)
{
   if (dynamic_cast<TLabel*>(Sender))
    {
       Edit1->Text = dynamic_cast<TLabel*>(Sender)->Name;
    }
}

void __fastcall TForm1::FormCreate(TObject *Sender)
{
   for (int i= 1 ; i< 27 ; i++)
    {
       TLabel *lngLabel = new TLabel (Form1);
       lngLabel->Parent=Form1->Panel1;
       lngLabel->Left=i* 20 ;
       lngLabel->Top= 4 ;
       lngLabel->Caption=title;
       lngLabel->OnClick = LabelClick;
       lngLabel->OnMouseMove = MyLabelMouseMove;
    }
}


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как програмно создать обработчик событий? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]