Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
 Аватар для Maria64
0 / 0 / 0
Регистрация: 24.06.2010
Сообщений: 101

Текст в программе после нажатия одной из кнопок меню

12.09.2010, 16:38. Показов 3513. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне ужасно стыдно за то, что я не знаю элементарной вещи...

Но я не знаю как сделать так, чтобы при нажатии одной из кнопок динамического меню на List появлялся каждый раз новый текст...

помогите, пожалуйста...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.09.2010, 16:38
Ответы с готовыми решениями:

Обработка нажатия одной из нескольких одинаковых кнопок
Добрый день. Ребята, подскажите, пожалуйста, каким образом можно реализовать данную ситуацию в javaFx. Есть проект на javaFX. Есть...

Ожидание после нажатия кнопок
procedure TForm1.btn15Click(Sender: TObject); begin form1.btn2.Click; form1.btn3.Click; Form1.btn3.Click; end; Нужно...

Смена кнопок на форме после нажатия определенной кнопки
Есть три кнопки : Удалить, редактировать и изменить. Как можно сделать чтобы на форме акцесса форма обновлялась с другими кнопками....

31
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
12.09.2010, 17:06
Цитата Сообщение от Maria64 Посмотреть сообщение
Но я не знаю как сделать так, чтобы при нажатии одной из кнопок динамического меню на List появлялся каждый раз новый текст...
Вопрос немного не ясен...
Что такое List?
Чем представлено меню?
Если TMainMenu, то присваивали ли вы функцию события OnClick?
0
 Аватар для Maria64
0 / 0 / 0
Регистрация: 24.06.2010
Сообщений: 101
12.09.2010, 17:17  [ТС]
Цитата Сообщение от MikeSoft Посмотреть сообщение
Если TMainMenu, то присваивали ли вы функцию события OnClick?
нет... до онклика не додумалась... сейчас попробую...
List - это элемент TList (если не ошибаюсь)

Добавлено через 7 минут
я запуталась с кодом...

N5Click->OnClick->"123456789";

так получается что ли? я думаю, что нет...
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
12.09.2010, 17:20
Цитата Сообщение от Maria64 Посмотреть сообщение
на List появлялся каждый раз новый текст...
Какой текст? Набор случайных символов или заготовленный список слов?
Цитата Сообщение от Maria64 Посмотреть сообщение
List - это элемент TList (если не ошибаюсь)
Тогда на нем нельзя будет отобразить, если я правильно понял, а понял я то, что этот текст нужно вывести и показать пользователю.
0
 Аватар для Maria64
0 / 0 / 0
Регистрация: 24.06.2010
Сообщений: 101
12.09.2010, 17:27  [ТС]
Цитата Сообщение от Папа Карло Посмотреть сообщение
Какой текст? Набор случайных символов или заготовленный список слов?
заготовленный текст про учебные заведения города...



Цитата Сообщение от Папа Карло Посмотреть сообщение
Тогда на нем нельзя будет отобразить, если я правильно понял, а понял я то, что этот текст нужно вывести и показать пользователю.
да, нужно чтобы при нажатии на одну кнопку один определенный текст появился, а когда нажмется вторая кнопка, то второй текст появился вместо первого....
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
12.09.2010, 17:43
Maria64, ну вот что-то набросал. Вроде, то, что вам нужно.

В Unit1.h обьявляем новую функцию TestClick():
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//---------------------------------------------------------------------------
 
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TButton *Button1;
        TListBox *ListBox1;
        TMemo *Memo1;
        void __fastcall Button1Click(TObject *Sender);
        void __fastcall FormCreate(TObject *Sender);
private:    // User declarations
public:     // User declarations
        __fastcall TForm1(TComponent* Owner);
         void __fastcall TestClick(TObject *Sender); //Вот здесь вот
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
На форме расположены Button1, ListBox1, куда будет воводится текст и Memo1, где будет содержаться список чего-то там:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "Math.hpp" //Подключаем модуль Math.hpp
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
 void __fastcall TForm1::TestClick(TObject *Sender)  //Описываем созданную ранее нами функцию
 {
      ListBox1->Items->Text=Memo1->Lines->Strings[RandomRange(0,Memo1->Lines->Count)]; //Выбор произвольной строки из Memo1 и помещение ее в ListBox1
 }
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TMainMenu *mn=new TMainMenu(Form1);  //Динамически создаем TMainMenu для формы
 
TMenuItem *mi=new TMenuItem(mn); //Создаем TMenuItem для созданного ранее MainMenu
 
mi->Caption="Test";  //Заголовок кнопки
mi->OnClick=TestClick;  //Присваиваем динамически созданную функцию событию OnClick нашей кнопки
mn->Items->Add(mi); //Добавляем к MainMenu
 
mi=NULL;   //Очищаем
delete mi;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 Randomize();
}
//---------------------------------------------------------------------------
Вот готовый проект для более подробного разбора:
Вложения
Тип файла: rar maria64.rar (3.4 Кб, 30 просмотров)
0
 Аватар для Maria64
0 / 0 / 0
Регистрация: 24.06.2010
Сообщений: 101
12.09.2010, 18:11  [ТС]
Я даже не соображу сразу что да как.... я попробовала провести через билдер... показывает ошибку все время какую-то...

Добавлено через 6 минут
Цитата Сообщение от Папа Карло Посмотреть сообщение
ListBox1->Items->Text=Memo1->Lines->Strings[RandomRange(0,Memo1->Lines->Count)]; /
показывает ошибку...

Добавлено через 9 минут
Цитата Сообщение от Папа Карло Посмотреть сообщение
extern PACKAGE TForm1 *Form1;
и вот здесь ошибку почему-то выдает...
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
12.09.2010, 18:25
Цитата Сообщение от Maria64 Посмотреть сообщение
List - это элемент TList (если не ошибаюсь)
Объект класса TList не может быть визуальным ... а вы, как я понимаю, хотите вывести текст на экран.

Давайте поступим немного по-другому...

Создайте новый проект.
Поместите на него компонент класса TMainMenu, компонент класса TButton и компонент класса TListBox.

После этого перейдите к файлу Unit1.h, в котором вы увидите описание класса TForm1.
В область public добавьте прототип будущей функции:
C++
1
void __fastcall TForm1::ItemClick(TObject *Sender);
Далее, передите к Unit1.cpp и опишите функцию:
C++
1
2
3
4
void __fastcall TForm1::ItemClick(TObject *Sender)
{
  ListBox1->Items->Add("Test Text");
}
После этого вернитесь к дизайнеру и дважды кликните на Button1. В автоматически созданной функции объявите создание нового элемента меню. Вид функции будет таков:
C++
1
2
3
4
5
6
7
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TMenuItem *MI = new TMenuItem(MainMenu1);
  MainMenu1->Items->Add(MI);
  MI->Caption = "Dynamic-created MenuItem";
  MI->OnClick = ItemClick;
}
Пробуйте запустить проект.
Если будут вопросы - обращайтесь.
0
 Аватар для Maria64
0 / 0 / 0
Регистрация: 24.06.2010
Сообщений: 101
12.09.2010, 18:34  [ТС]
MikeSoft, там показывает ошибку Linker
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
12.09.2010, 18:39
Maria64, я вам выложил готовый проект. Он тоже не работает?
0
 Аватар для Maria64
0 / 0 / 0
Регистрация: 24.06.2010
Сообщений: 101
12.09.2010, 18:40  [ТС]
Папа Карло, он вообще в билдере не открывается...

P.S. прошу прощения за то ,что отнимаю у вас столько времени...
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
12.09.2010, 18:43
Maria64, что значит "не запускается"? Что компилятор пишет?
Оба предложенные вам нами(мною и MikeSoft) варианта должны нормально работать.
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
12.09.2010, 18:43
Цитата Сообщение от Maria64 Посмотреть сообщение
MikeSoft, там показывает ошибку Linker
Прошу прощения, "там" - это где?
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
12.09.2010, 18:50
Maria64, еще один вопрос:
Какой у вас компилятор стоит?
0
 Аватар для Maria64
0 / 0 / 0
Регистрация: 24.06.2010
Сообщений: 101
12.09.2010, 18:51  [ТС]
Папа Карло, в смысле? я пытаюсь пропустить через Run в с++ билдере

Добавлено через 19 секунд
MikeSoft, ну там где ошибки пишутся...
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
12.09.2010, 18:53
Эмм...
Цитата Сообщение от Папа Карло Посмотреть сообщение
1. Maria64, что значит "не запускается"? Что компилятор пишет?

2. Какой у вас компилятор стоит?
0
 Аватар для Maria64
0 / 0 / 0
Регистрация: 24.06.2010
Сообщений: 101
12.09.2010, 18:54  [ТС]
Папа Карло, он пишет ,что есть какая-та синтаксическая ошибка и не законченность...
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
12.09.2010, 19:01
Так, а каким компилятором вы пользуетесь?
0
 Аватар для Maria64
0 / 0 / 0
Регистрация: 24.06.2010
Сообщений: 101
12.09.2010, 19:04  [ТС]
Папа Карло, так я запуталась.... если честно, то я даже не знаю....
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
12.09.2010, 19:06
Maria64, выложите снимок экрана, желательно еще чтобы было видно текст ошибок
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.09.2010, 19:06
Помогаю со студенческими работами здесь

Как сделать так, чтобы после нажатия на пункт меню страница прокручивалась до якоря и меню закрывалось?
Привет всем, у меня есть html код страницы со вставками javascript кода. Имеется два javascripta, один отвечает за прокрутку страницы к...

Размер кнопок меню под текст
Приветствую. Скажите пожалуйста как подогнать размер пунктов меню под текст меню? только через css можно? или надо подключить js тоже

Как запустить процедуру сразу после открытия формы,без нажатия кнопок?
Здрасте.Подскажите пожалуйста,как запустить процедуру сразу после открытия формы,без нажатия кнопок?Заранее спасибо.

Информация от нажатия кнопок на одной панели должна выводится на другой панели
Добрый день и удачи Всем! Помогите пожалуйста. Я начинающий программист в Delphi7.Проблема заключается в следующем: На панели номер 1...

Исчезли меню создания кнопок текст бокс и т.д
Исчезли меню создания кнопок текст бокс и т.д. как все вернуть назад подскажите пожалуйста


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера 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