Показать сообщение отдельно
  #1  
Старый 22.11.2016, 19:22
V1ktor1 V1ktor1 вне форума
Прохожий
 
Регистрация: 22.11.2016
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Помогите пожалуйста с формой в Borland Delphi 7

Доброго времени суток. В проекте есть "дочерняя", подчиненная форма (Height=1200 и Width=1600). На этой форме есть три панели Panel, несколько картинок Image и кнопку Button. При нажатии на кнопку Button срабатывает процедура закрытия формы:
Код:
...
procedure TForm4.Button1Click(Sender: TObject);
begin
Form4.Close;
end;
...
Картинка Image1 содержит фон для формы - это не так важно.
Панель Panel1 отображает название формы - тоже не так важно.
При нажатии на панель Panel2 написан следующий код:
...
Код:
procedure TForm4.Panel2Click(Sender: TObject);
begin
if Image2.Left<800 then
if Image3.Left<800 then
...
if Image23.Left>587 then
begin
Panel3.Visible:=True;
Panel3.Color:=clGreen;
Panel3.Caption:='Да!'
end
else
Panel3.Visible:=True;
Panel3.Color:=clRed;
Panel3.Caption:='Не-а'
end;
...
Панель Panel3 должна менять свои свойства Properties (Visible, Color, Caption) в зависимости от результата процедуры при нажатии панели Panel2.
Картинки Image2, Image3,...,Image23 имеют следующий код (небольшое различие только в прописывании события MouseMove для определенной картинки Image):
Код:
...
procedure TForm4.Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button<>mbLeft then move:=false //если нажали не левой кнопкой, то перемещать не будем!
else begin
move:=true;
x0:=x;
y0:=y;
end;
end;

procedure TForm4.Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if move then begin
image2.Left:=image2.Left+x-x0;
image2.Top:=image2.Top+y-y0;
end;
end;

procedure TForm4.Image2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
move:=false;
end;

procedure TForm4.Image3MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button<>mbLeft then move:=false //если нажали не левой кнопкой, то перемещать не будем!
else begin
move:=true;
x0:=x;
y0:=y;
end;
end;

procedure TForm4.Image3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if move then begin
image3.Left:=image3.Left+x-x0;
image3.Top:=image3.Top+y-y0;
end;
end;

procedure TForm4.Image3MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
move:=false;
end;
...

lmikle: пользуемся тегами!

При запуске проекта из главной формы открывается данная "дочерняя", подчиненная форма. Кнопка Button1 работает правильно, а при нажатии на панель Panel2:
- не переместив ни одной картинки Image, появляется панель Panel1, но неправильно выбран цвет при правильном расположении картинок Image, т.е. красный clRed;
- переместив хотя бы одну картинку Image, панель Panel1 не появляется совсем.
Подскажите пожалуйста, что не так?
Ответить с цитированием