Форум по Delphi программированию



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #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 не появляется совсем.
Подскажите пожалуйста, что не так?

Последний раз редактировалось lmikle, 22.11.2016 в 23:44.
Ответить с цитированием
 



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:24.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2021

ВКонтакте   Facebook   Twitter   Ссылка на Telegram