Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
1 / 1 / 0
Регистрация: 05.12.2016
Сообщений: 178

Переключатель двух изображений

12.12.2016, 14:55. Показов 4399. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дорогие форумчане, не подскажите на форме друг на друг наложены 2 изображения, как с помощью кнопки их переключать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2016, 14:55
Ответы с готовыми решениями:

Нехватка памяти, попиксельное сравнение двух изображений
Добрый день ув. Программисты. Есть код сравнения двух изображений по пиксельно: procedure TForm4.Timer2Timer(Sender:...

Переключатель
Всем привет! Подскажите пожалуйста что не так? procedure TForm1.sSlider1Click(Sender: TObject); begin if sslider1.ImageIndexOn=1...

Сравнение двух изображений
Подскажите пожалуйста как сравнить два объекта Image на предмет того, содержат они разное изображение или одно и тоже?

31
 Аватар для Teodor7
53 / 53 / 5
Регистрация: 22.11.2016
Сообщений: 268
14.12.2016, 12:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от 99Екатерина99 Посмотреть сообщение
при первом нажатии на кнопку первая картинка появлялась
Можно. Тогда к моему коду добавить в FormCreate Flag:=0;
и оба Image Visible установить False в инспекторе объектов.
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
14.12.2016, 12:56
с тем, что так алгоритм красивее. Да и масштабируемость теперь легко реализуется

Добавлено через 1 минуту
Teodor7, в твоем коде 2 состояния, а их теперь требуется три
0
 Аватар для Teodor7
53 / 53 / 5
Регистрация: 22.11.2016
Сообщений: 268
14.12.2016, 13:03
Третье состояние - исходное.

Добавлено через 3 минуты
Если реально состояний больше двух, то надо использовать RadioGroup
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
14.12.2016, 14:05
Teodor7, YuryK, вы выдумали себе проблему, не относящуюся к теме, и теперь ее обсуждаете. в задании четко сказано: ДВА изображения


Цитата Сообщение от 99Екатерина99 Посмотреть сообщение
на форме друг на друг наложены 2 изображения, как с помощью кнопки их переключать?
вот код. с учетом того, что при старте приложения оба изображения скрыты
Delphi
1
2
3
4
5
6
7
8
begin
  if not Image1.Visible and not Image2.Visible
  then Image1.Show else
  begin
    Image1.Visible:= not Image1.Visible;
    Image2.Visible:= not Image2.Visible;
  end;
end;
0
1 / 1 / 0
Регистрация: 05.12.2016
Сообщений: 178
14.12.2016, 14:51  [ТС]
YuryK, Спасибо разобралась в вашем коде, но только теперь как мне сделать к вашему коду всплывающие подсказки? Так как код предложенный Teodor7,
Delphi
1
2
3
4
5
6
7
8
9
10
Flag:=1-Flag;
if flag=1 then begin
  Image1.Show;
  Image2.Hide;
  Button.Hint:='Картинка 1';
end else begin
  Image2.Show;
  Image1.Hide;
  Button.Hint:='Картинка 2';
end;
не работает с вашим.

Добавлено через 4 минуты
YuryK, И еще такой вопрос. У меня в программе код который убирает кнопку закрытия в приложении.
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.FormCreate(Sender: TObject);
var SysMenu: HMenu;
begin
   SysMenu := GetSystemMenu( Handle, false );
   Windows.EnableMenuItem( SysMenu, SC_CLOSE, MF_DISABLED or MF_GRAYED );
   GetSystemMenu( Handle, false );
   Perform( WM_NCPAINT, Handle, 0 );
end;
Но никак не получается его вставить в вашу часть
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.FormCreate(Sender: TObject);
begin
  OPhoenix.Visible := false;
  BPhoenix.Visible := false;
 
  OPhoenix.ShowHint := true;
  BPhoenix.ShowHint := true;
 
  FList := TObjectList.Create(false);
  end;
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
14.12.2016, 14:57
после
Delphi
1
2
3
//последний объект списка делаем видимым и помещаем на передний план
  TImage(FList[FList.Count -1]).Visible := true;
  TImage(FList[FList.Count -1]).BringToFront;
добавь
Delphi
1
 Button1.Hint :=  TImage(FList[FList.Count -1]).Hint
при условии, что хинты у картинок проставлены в редакторе.
Или задай их в обработчике создания формы
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm3.FormCreate(Sender: TObject);
begin
  // для чистоты эксперимента
  OPhoenix.Visible := false;
  BPhoenix.Visible := false;
 
  OPhoenix.ShowHint := true;
  BPhoenix.ShowHint := true;
  OPhoenix.Hint := 'феникс в огне';
  BPhoenix.Hint := 'феникс накануне возрождения';
 
  FList := TObjectList.Create(false);
end;
Добавлено через 5 минут
Цитата Сообщение от 99Екатерина99 Посмотреть сообщение
Но никак не получается его вставить в вашу часть
Странно, чего тут вставлять-то, код независим друг от друга, пишешь и тот и другой

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm3.FormCreate(Sender: TObject);
var SysMenu: HMenu;
begin
   SysMenu := GetSystemMenu( Handle, false );
   Windows.EnableMenuItem( SysMenu, SC_CLOSE, MF_DISABLED or MF_GRAYED );
   GetSystemMenu( Handle, false );
   Perform( WM_NCPAINT, Handle, 0 );
 
  // для чистоты эксперимента
  OPhoenix.Visible := false;
  BPhoenix.Visible := false;
 
  OPhoenix.ShowHint := true;
  BPhoenix.ShowHint := true;
  Button1.ShowHint := true;
 
  OPhoenix.Hint := 'феникс в огне';
  BPhoenix.Hint := 'феникс накануне возрождения';
 
  FList := TObjectList.Create(false);
 
end;
0
 Аватар для Teodor7
53 / 53 / 5
Регистрация: 22.11.2016
Сообщений: 268
14.12.2016, 14:58
Цитата Сообщение от 99Екатерина99 Посмотреть сообщение
когда нажимаешь на кнопку, которая переключает изображения, то подсказка должна всплывать в этот момент
Так в этот момент (то есть у кнопки) или в момент после наведения на изображение?
0
1 / 1 / 0
Регистрация: 05.12.2016
Сообщений: 178
14.12.2016, 16:28  [ТС]
Teodor7, В момент нажатия на кнопку. Вот у YuryK, подсказки появляются при навидении на картинку, а мне нужно на кнопку.
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
14.12.2016, 16:41
у меня тоже появляются
Миниатюры
Переключатель двух изображений   Переключатель двух изображений  
0
 Аватар для Teodor7
53 / 53 / 5
Регистрация: 22.11.2016
Сообщений: 268
14.12.2016, 16:53
А зачем, вообще-то, такой изврат? Я имею в виду постановку задачи.
Хинты ведут себя своевольно. Не проще использовать Label?
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
14.12.2016, 16:57
Цитата Сообщение от Teodor7 Посмотреть сообщение
А зачем, вообще-то, такой изврат? Я имею в виду постановку задачи.
Жизнь такая, что постановкой задач занимаются извращенцы, а программисты расхлёбывают
0
1 / 1 / 0
Регистрация: 05.12.2016
Сообщений: 178
14.12.2016, 23:39  [ТС]
YuryK, Хмм... А я не пойму почему у меня не появляются на кнопке

Добавлено через 3 минуты
ААА... А дурочка все поняла свою ошибку...

Добавлено через 40 секунд
Всем спасибо за советы и помощь! Очень благодарна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.12.2016, 23:39

Перестановка двух изображений
Здравствуйте, помогите создать предложенную форму и сценарий для перестановки двух изображений. Вот часть кода: function chript() ...

Шапка из двух изображений
Добрый день! Наткнулся на этот сайт http://imeda.ru/ и захотел сделать также - здесь шапка, видимо, состоит из двух рисунков - с левым...

Слияние двух изображений
Здравствуйте форумчане.. Стоит задача склеить два изображения! Одно - фон Второе деталь, с прозрачным фоном.. Решал вот так...

Морфинг двух изображений.
Одно изображение должно плавно переходить в другое. Помогите, пожалуйста, с реализацией!

Склейка двух изображений
Здравствуйте форумчане.. Появилась идея для облегчения своей работы. Суть такова - телеграм бот который склеивает логотип и изображение....


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru