0 / 0 / 0
Регистрация: 12.05.2016
Сообщений: 38
1

Memo в delphi / как сделать так чтобы при нажатии на кнопку memo появляется, при повторном нажатии исчезает

12.05.2016, 21:49. Показов 4986. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как сделать так чтобы при нажатии на кнопку текст с memo появляется, при повторном нажатии исчезает
-
как сделать так чтобы при нажатии на кнопку memo появляется, при повторном нажатии исчезает


помогите пожалуйста! очень надо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2016, 21:49
Ответы с готовыми решениями:

Как сделать так, чтобы при нажатии на Worddocument1 открывалось в Word то, что написано в Memo?
Есть Memo1, WordDocument1. Как сделать так, чтобы при нажатии на woddocument1 открывалось в Word,...

Файл: Как сделать так, чтобы при нажатии на 1-ую кнопку считывалася 1-ая строка, при нажатии на 2 - 2 строка и т.д.
На форме размещено 30 кнопок. В файле .txt размещено 30 строк. Как сделать так чтобы при нажатий на...

как сделать, чтобы при нажатии кнопки текст с Memo стирался
как cделать, чтобы при нажатит кнопки текст с Memo стирался

Как сделать, чтобы при первом нажатии на кнопку TButton появлялось одно сообщение, а при втором нажатии - другое?
помогите как сделать в чтобы в кнопке button при первом нажатий вылазило сообщение ShowMessage('Вы...

3
1 / 1 / 0
Регистрация: 19.11.2015
Сообщений: 35
13.05.2016, 02:56 2
Первый вариант - простой, но глупый.
Заключается в том, что при щелчке на кнопку цвет текста становится цвета Memo, то есть
Delphi
1
Memo1.Font.Color:=Memo1.Color;
Но это лишь в том случае, если при скрытом текста Memo с ним ничего не надо было делать. Тогда ещё можно Memo1.ReadOnly ставить на true - запретит редактировать содержимое.

Второй вариант - посложнее, но и поумнее.
Нужно где-то хранить содержимое Memo. А раз оно типа TStrings, то хранить можно лишь в переменной такого же типа.

Сам ни разу так не делал, но можно ввести глобальную переменную типа TString, при первом щелчке записывать в неё содержимое Memo, а сам текст компонента очищать, а при повторном щелчке содержимому Memo присваивать значение той переменной.

Снизу привожу пример такой, чтобы можно было неограниченное число раз щёлкать по кнопке и через раз она скрывала текст Memo, и также через раз возвращала его на место:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var M: TStrings;
..
procedure Button1.Click(Sender: TObject);
var K: Boolean;
begin
if not K then
begin
M:=Memo1.Lines;
Memo1.Lines.Clear;
K:=true;
end
else
begin
Memo1.Lines:=M;
K:=false;
end;
..
Также вместо переменной типа TStrings можно использовать вспомогательный Memo, у который всегда скрыт.

Ещё можно вместо переменной типа TStrings вводить динамический массив, где его High будет равен (Memo1.Lines.Count-1), а соответственно каждый элемент будет содержать в себе строку с номером, равным номеру элемента массива.

Итого, в качестве буфера обмена данными типа TStrings, как вариант, можно использовать либо пользовательскую переменную такого же типа, либо вспомогательный Memo, либо динамический массив строк.
0
669 / 559 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
13.05.2016, 04:07 3
Лучший ответ Сообщение было отмечено Vektor49 как решение

Решение

Цитата Сообщение от Vektor49 Посмотреть сообщение
как сделать так чтобы при нажатии на кнопку memo появляется, при повторном нажатии исчезает
Delphi
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
if Memo1.Visible then Memo1.Visible:=false else Memo1.Visible:=true;
end;
Добавлено через 1 минуту
Цитата Сообщение от Шон Безкуров Посмотреть сообщение
Второй вариант - посложнее, но и поумнее.
чего умней то - сделать компоненту то видимой, то не видимой.
1
1073 / 485 / 315
Регистрация: 05.04.2013
Сообщений: 2,131
13.05.2016, 05:27 4
Delphi
1
Memo1.Visible := not Memo1.Visible;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2016, 05:27
Помогаю со студенческими работами здесь

Как при выборе определенного значения, сделать так, чтобы при нажатии на кнопку переходило на соответствующую
Существует 4 формы. На главной форме есть ComboBox и кнопка. В ComboBox 3 значения. Как при выборе...

Как сделать так чтобы при нажатии на кнопку не обновлялась страница
Как сделать так чтобы при нажатии на кнопку не обновлялась страница?

Как сделать так чтобы при нажатии на кнопку прибавлялось +0.1 к тексту
Ребята, нужна помощь. Создаю форму, на ней текст и кнопка, в тексте написано 2.0 . Как сделать так...

Как сделать так чтобы при нажатии на кнопку происходила отправка данных?
У меня есть файл *срр.В нём код iSent = send(Socket, sendbuf, (int) strlen(sendbuf), 0); Добавляю...


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

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

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