Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 15
1

Открытие формы по нажатию на определенную часть компонента Image

26.04.2014, 17:07. Показов 3761. Ответов 3
Метки нет (Все метки)

Я делаю проект в 9 классе. Мне нужно по нажатию на компонент image в его определенной части, чтобы открывалась форма... Я знаю, что нужно использовать OnMouseDown, но я не знаю как перебирать координаты для открытия формы. То есть, еще раз, я хочу по нажатию, например на "Китай" на карте, открыть форму с информацией о Китае. Подскажите, как перебрать координаты.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2014, 17:07
Ответы с готовыми решениями:

Открытие формы по нажатию
Код кнопки: <a class="control" href="javascript:;" onclick="openStaticPopup()">Открыть...

Открытие и закрытие формы по нажатию
Есть авторизация пользователя. Нужно что бы если верный пароль, то открывал форму 6, а форму 5...

Открытие формы по нажатию кнопки
Всем привет! Подскажите мне пожалуйста обработчик кнопки, чтобы при её нажатии открывалась другая...

Открытие формы по нажатию клавиши
Привет форумчане! Я создаю программку, и мне надо чтобы когда я допустим нажал F5 у меня...

3
307 / 138 / 6
Регистрация: 17.04.2013
Сообщений: 1,943
27.04.2014, 06:42 2
Лучший ответ Сообщение было отмечено Help Me! как решение

Решение

Координаты присваиваются переменным Х, У
Простым условием можно определить попадание в нужную область

на форму Image (с картинкой), кнопку и лейбл
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Label1.Caption:='X:'+IntToStr(X)+' Y:'+IntToStr(Y);
  if (x>100) and (x<200) and (y>100) and (y<200) then
    Label1.Color:=clGreen
  else
    Label1.Color:=clRed;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Image1.Canvas.Brush.Style:=bsClear;
  Image1.Canvas.AutoRedraw:=True;
  Image1.Canvas.Pen.Width:=2;
  Image1.Canvas.Rectangle(100,100,200,200);
end;
example.7z
1
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 15
27.04.2014, 07:19  [ТС] 3
А форму то как открыть?
0
307 / 138 / 6
Регистрация: 17.04.2013
Сообщений: 1,943
27.04.2014, 09:30 4
Для начала нужно подключить модуль формы в разделе uses
Можно сделать это в главном uses (там где interface)
Но в таком случае в подключенном модуле нельзя будет аналогично подключить данный модуль
т.е. если в Unit1 подключили Unit2, то в Unit2 подключить в interface Unit1 не выйдет
Для этого подключайте в implementation
Delphi
1
2
3
4
implementation
uses
  unit2;
{$R *.lfm}
Для открытия формы
Delphi
1
Form2.Show;
Где Form2 имя нужной формы
Если нужно открыть форму в виде диалога (нельзя переключиться на другие формы) используйте ShowModal
Delphi
1
Form2.ShowModal;
при работе с несколькими формами стоит учитывать, что программа завершится по закрытию всех форм
Если нужно завершить программу по закрытию главной формы добавьте в событие FormClose закрытие всех других форм
например если всего 1 дополнительная форма:
Delphi
1
2
3
4
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
  Form2.Close;
end;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2014, 09:30

Открытие второй формы по нажатию на кнопку
Здраствуйте. Создаю форму, добавляю кнопку. Хочу чтобы после нажатия на эту кнопку открывалась...

Открытие другой формы по нажатию на button
День добрый, только начал учить PyQt5. Потыкал пару примеров в интернетах, создал MainWindow,...

Открытие новой формы, по нажатию кнопки
Здравствуйте, я занялся проектом, в нем мне нужно, как я себе представляю, по нажатию кнопки меню...

Открытие новой формы по нажатию кнопки
Подскажите как сделать так что бы по нажатию Button1 отрывалась Form2 в Form1 по нажатию Button2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru