Jonick |
Отправлено: 20.12.2004, 14:29 |
|
Не зарегистрирован
|
У меня такая проблема. Необходимо создавать динамически объект, например кнопку,
а потом на форме таскать ее мышкой и ставить в любое место формы. Как это сделать не могу понять? Посоветуйте пожалуйста. |
|
Valdemar |
Отправлено: 20.12.2004, 15:39 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
Вот небольшой пример:
CODE |
int x0,y0;
bool move;
...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//динамическое создание кнопки
//при необходимости можно назначить созданной кнопке обработчики событий, например, btn->OnClick=myClick;
TButton * btn=new TButton(Form1);
btn->Left=10;
btn->Top=20;
btn->Width=50;
btn->Height=20;
btn->Caption="Button";
btn->Parent=Form1;
}
//---------------------------------------------------------------------------
//перемещение кнопки при нажатой левой кнопке мышки
void __fastcall TForm1::Button1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if (Button==mbLeft)
{
x0=X;
y0=Y;
move=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1MouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
move=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1MouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
if (move)
{
Button1->Left=Button1->Left+X-x0;
Button1->Top=Button1->Top+Y-y0;
}
} | |
|
Jonick |
Отправлено: 20.12.2004, 15:53 |
|
Не зарегистрирован
|
Большое спасибо все получилось. |
|
|