![]() |
|
|
|
|
#1
|
|||
|
|||
|
Как можно сделать в Delphi что-то вроде "спойлера" (гипер ссылки), т.е. когда нажимаю на checkbox (или на слово), чтобы открывался обширный кусок текста и при снятии галочки с чекбокса - весь текст сворачивался в одну строчку.
Спасибо за ответы ! ![]() |
|
#2
|
||||
|
||||
|
Код:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
begin
Memo1.Lines.LoadFromFile('C:\Весь текст.txt');
//загружаем файл который содержит весь текст
end
else
begin
Memo1.Lines.LoadFromFile('C:\Одна строка.txt');
//загружаем файл который содержит одну строку
end;
end; |
|
#3
|
||||
|
||||
|
можно сделать так:
Кидаешь на форму groupbox а на него cheakbox и memo. Причем чекбокс ставишь вверху а мемо внизу. Алгоритм такой: когда происходит нажатие на чекбокс, идет проверка на "Checked" если тру, то раздвигаем групп бокс, если false то сдвигаем: Код:
if CheckBox1.Checked then GroupBox1.Height:=300
else GroupBox1.Height:=40 ;исходник: http://letitbit.net/download/4713.b4..._____.rar.html |
|
#4
|
||||
|
||||
|
Ещё способ:
Код:
procedure TForm1.Label1Click(Sender: TObject);
begin
if Label1.Hint='развернуть' then //первый клик
begin
Label2.Top:=112; //другие заголовки сдвигаются вниз
Label3.Top:=136;
Label4.Visible:=True; //отображается текст
Label5.Visible:=True;
Label1.Hint:='свернуть';
end
else
begin // повторный клик
Label4.Visible:=False; //скрывается текст
Label5.Visible:=False;
Label2.Top:=64; //другие заголовки сдвигаются обратно
Label3.Top:=88;
Label1.Hint:='развернуть';
end;
end; |