kasyava |
Отправлено: 27.07.2005, 08:01 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 17
|
Люди добрые подмогните начинающему советом...
У меня на форме есть несколько Image-ей, как сделать так чтобы во время выполнения программы их можно было таскать и изменять их размеры, как при дизайне формы. |
|
Konstantine |
Отправлено: 27.07.2005, 09:02 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
"таскать" — это так:
вот пример:
CODE | void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if((Old_X!=-1)&&(Old_Y!=-1))
{if(Shift.Contains(ssLeft))
{Image1->Left=Image1->Left+X-Old_X;
Image1->Top=Image1->Top+Y-Old_Y;}
else {Old_X=-1;Old_Y=-1;}
}
else
if(Shift.Contains(ssLeft)) {Old_X=X;Old_Y=Y;}
}
|
Изменять размер — аналогично, если было-бы за что зацепиться
Отредактировано Konstantine — 27/07/2005, 09:04
|
|
kasyava |
Отправлено: 27.07.2005, 09:17 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 17
|
ну с тем чтобы таскать проблем у меня вроде нет...
самая заморочка как изменить размер...
|
|
seg_r |
Отправлено: 27.07.2005, 09:19 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 74
|
Вот так можно изменять размер...
ну и + предыдущий ответ — перемещать
CODE |
bool ch=true;
int Old_X,Old_Y;
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if (ch==true)
{
if ((X>Form1->Image1->Width-10)&&(X<Form1->Image1->Width))
if ((Y>Form1->Image1->Height-10)&&(Y<Form1->Image1->Height))
{
if (Shift.Contains(ssLeft))
{
ch=false;
Form1->Image1->Width=X;
Form1->Image1->Height=Y;
}
}
}
else
{
if (Shift.Contains(ssLeft))
{
ch=false;
Form1->Image1->Width=X;
Form1->Image1->Height=Y;
}
else
{
ch=true;
}
}
/// /// /// /// /// /// /// /// ///
if ((X<Form1->Image1->Width-10)&&(X>=0))
if ((Y<Form1->Image1->Height-10)&&(Y>=0))
{
if((Old_X!=-1)&&(Old_Y!=-1))
{if(Shift.Contains(ssLeft))
{Image1->Left=Image1->Left+X-Old_X;
Image1->Top=Image1->Top+Y-Old_Y;}
else {Old_X=-1;Old_Y=-1;}
}
else
if(Shift.Contains(ssLeft)) {Old_X=X;Old_Y=Y;}
}
}
//---------------------------------------------------------------------------
| |
|
seg_r |
Отправлено: 27.07.2005, 09:21 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 74
|
Да еще
у Image1 свойства...
AutoSize = false
Stretch = true |
|
kasyava |
Отправлено: 27.07.2005, 09:26 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 17
|
Огромное спасибо!!!!
|
|
esh |
Отправлено: 27.07.2005, 14:51 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 71
|
А вот еще вариант. Правда редактор форм не открывается -- в упор не видит мой класс TGroupBoxExt.
Но работает. Только когда открываете проект нужно нажать Cancel.
Можно использовать и стандартный класс TGroupBox, но тогда уберите
WS_SYSMENU|WS_MAXIMIZEBOX|WS_MINIMIZEBOX
Иначе если закроете окно, то открыть его будет очень сложно
В моем варианте перегружена функция окна, поэтому окно можно закрывать, все равно оно не закроется,
а только спрячется.
|
|