Связать програмно созданый объект с проц. события

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем Chetverg, 19 дек 2005.

Статус темы:
Закрыта.
  1. Chetverg

    Chetverg Гость

    Такой вопрос:
    Я программно создал массив объектов:
    Код (Text):
    for (int i=1; i<6;i++)
    { for (int j=1; j<11;j++)
    {
    ImArray[i][j]=new TImage(Form2);
    ImArray[i][j]->Parent=Form2;
    ImArray[i][j]->Width=40;
    ImArray[i][j]->Height=45;
    ImArray[i][j]->Left=5+(j-1)*50;
    ImArray[i][j]->Top=2+(i-1)*50;
    ImArray[i][j]->Picture->LoadFromFile("img\\5.bmp");
    ImArray[i][j]->Visible=true;
    ImArray[i][j]->BringToFront();
    ImArray[i][j]->DragMode=dmManual;
    ImArray[i][j]->OnDragOver=&ImageDragOver;
    }
    }
    Как мне описать и связать процедуру ImageDragOver на событие OnDragOver с этими объектами?
    void __fastcall TForm2::ImageDragOver(TObject *Sender, TObject *Source,
    int X, int Y, TDragState State, bool &Accept)

    Спасибо
    PS: C++ Builder6
     
  2. Sensei

    Sensei Гость

    в Хедере Форм2 в средине класса Form2 описываешь функцию

    Код (Text):
    void __fastcall Image1DragOver(TObject *Sender, TObject *Source,
    int X, int Y, TDragState State, bool &Accept);
    в ЦППешнике пишешь

    Код (Text):
    void __fastcall TForm2::Image1DragOver(TObject *Sender, TObject *Source,
    int X, int Y, TDragState State, bool &Accept)
    {
    //
    }
    Но еще ты допустил ошибку в КОДЕ

    Код (Text):
    // --- так писать низзя
    ImArray[i][j]->OnDragOver=&ImageDragOver;

    // --- надо писать так
    ImArray[i][j]->OnDragOver = ImageDragOver;
     
  3. 62316e

    62316e Гость

    Незабывай delete юзать.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей