0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 4

Как по нажатию кнопки мыши циклически изменять текст на форме?

17.07.2013, 11:14. Показов 2020. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Есть 2 текста - Текст1 и Текст 2. Мне надо чтобы при нажатии на кнопку мыши появлялся Текст1 если до этого был Текст2 и наоборот. Как это сделать?

Вот что у меня получилось:

C++
1
2
3
4
5
6
7
void __fastcall TForm1::Label5Click(TObject *Sender)
{
 
  if (label5->Caption=' Текст1')  label5->Caption='Текст2';
  if (label5->Caption=' Текст2')  label5->Caption='Текст1';
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.07.2013, 11:14
Ответы с готовыми решениями:

Контекстное меню по нажатию правой кнопки мыши на форме
Приветствую Вас! Подскажите пожалуйста, как сделать так, чтобы при нажатии в любом произвольном месте экрана правой кнопкой мыши,...

Как изменять текст в layout c кнопки?
Как изменять текст в listView c помощью кнопки, прямо в приложении Например:в apk приложении listView список. Нажимаем на неё...

Как реализовать комбо атаки по нажатию левой кнопки мыши?
есть три анимации для удара персонажа, обрабатываю атаку в скрипте по нажатию на Mouse0, как можно попроще реализовать механизм - игрок...

11
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
17.07.2013, 11:24
C++
1
2
if (label5->Caption=="Текст1")  label5->Caption="Текст2";
else label5->Caption="Текст1";
1
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
17.07.2013, 11:25
так у тебя будут выполняться обе строчки подряд, т. е. после изменения первого текста на второй сразу же выполнится второе условие о текст поменяется обратно. Нужно в усливия добавить else
C++
1
2
3
4
5
6
7
void __fastcall TForm1::Label5Click(TObject *Sender)
{
    if (label5->Caption=' Текст1')
        label5->Caption='Текст2';
    else if (label5->Caption=' Текст2')
        label5->Caption='Текст1';
}
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
17.07.2013, 11:26
Lelik-pahan, "=" != "==", правда? Равно как и апостроф и кавычки - разные вещи...
1
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
17.07.2013, 11:31
Цитата Сообщение от UI Посмотреть сообщение
Lelik-pahan, "=" != "==", правда? Равно как и апостроф и кавычки - разные вещи...
угу, не заметил. Скопипастил текст автора, не разглядев толком
0
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 4
17.07.2013, 11:59  [ТС]
Благодарю за столь быстрый ответ!
Попробовал, выдает ошибку:

[C++ Error] trans1.cpp(33): E2451 Undefined symbol 'label5'

Если label5 уже находится на форме, то почему она не определена?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
17.07.2013, 12:09
label5 или Label5 находится на форме? Это разные вещи в С++...
0
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
17.07.2013, 12:10
Попробуй написать с большой буквы
Label5
0
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 4
17.07.2013, 21:28  [ТС]
Заработало!
Благодарю всех.

Добавлено через 8 часов 48 минут
А как сделать точно так же с картинкой? Есть Image1 и Image2. При каждом нажатии на нее кнопкой мыши картинки должны меняться местами.
0
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
17.07.2013, 22:27
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::Image1Click(TObject *Sender)
{
    Image2->BringToFront();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image2Click(TObject *Sender)
{
    Image1->BringToFront();
}
Ещё, как вариант, можно изменять булево свойство visible той картинки, которая сверху.
0
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 4
18.07.2013, 06:40  [ТС]
Я наверно не совсем точно сформулировал вопрос.Картинка Image 1 находится прямо на Image2 и, нажимая на первую, на её месте появляется вторая и наоборот.
0
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
18.07.2013, 09:14
Ну, и в чём проблема? Я как раз для такой ситуации и написал два варианта
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.07.2013, 09:14
Помогаю со студенческими работами здесь

Как сменить текст на пирамиде по нажатию мыши?
Доброго времени суток. Необходимо, чтобы при тычке мышью на пирамиде менялся текст на одной из ее сторон. Решил пирамиду нарисовать через...

По нажатию кнопки изменять цвет заливки
1.Создайте документ, в котором блоковый элемент размерами 250 на 250 и заливкой красного цвета заключен в рамку темно-синего цвета типа...

Как развернуть окно в любую точку на экране по нажатию кнопки мыши?
Как развернуть окно в любую точку на экране по нажатию кнопки мыши?

Нарисовать домик по нажатию кнопки, и звезду по нажатию на форме
Нарисовать домик по нажатию кнопки и звезду по нажатию на форме

Изменять текст по нажатию на ячейку stringrid
Я понимаю, что я у мамы идиот, но все же Делаю void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol, int...


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

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

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru