![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Многострочность в ValueListEditor [D7, XP]
Кирюшка © (2009-11-25 18:53:00)Как можно в ValueListEditor добавлять текст не 1 строчкой, а, к примеру, из TMemo? Просто там получается Strings и TStrings несовместимы.
Или, может, есть другой компонент, который позволяет это делать? Надо просто именно наподобие такого, чтобы было две колонки, в которые можно многострочно добавлять текст.
Германн (2009-11-26 01:13:00) [1]
> Misterix (26.11.09 01:02) [9]
>
> Так что, нельзя такое проделать?
>
Ищи в И-нете подходящий компонент. Начни с http://www.torry.net/
Или пиши свой компонент.
Misterix (2009-11-26 01:02:00) [2]Так что, нельзя такое проделать?
Misterix (2009-11-25 22:01:00) [3]Мда, это, конечно, не лучший вариант))
Хм, ну а если комбо нельзя сделать просто так, как с помощью этого:
ValueListEditor1.ItemProps[0].PickList.Add('значение1');
ValueListEditor1.ItemProps[0].PickList.Add('значение2');
то, может, можно их тода эти два поля местами поменять и тогда комбо будет стоять первым в столбике?
{RASkov} (2009-11-25 21:57:00) [4]> [6] Misterix (25.11.09 21:07)
> Можно ли тогда в первый столбик (ключевой который) у ValueListEditor
> поместить ComboBox?
Стандартно нет.
Но можно попробывать подставлять комбик в нужное место как-то так:
procedure TForm1.FormCreate(Sender: TObject);
begin
Windows.SetParent(ComboBox1.Handle, ValueListEditor1.Handle);
end;
procedure TForm1.ValueListEditor1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
if ACol=0 then begin
ComboBox1.BoundsRect:=ValueListEditor1.CellRect(ACol, ARow);
ComboBox1.Show;
end else ComboBox1.Hide;
end;
плюс нужно реализовать выбор в комбике значения и вывод его в первую колонку....
ЗЫЖ Как-то это все неправильно... имхо. Т.е. контрол не для этих целей....
Misterix (2009-11-25 21:07:00) [5]Ну да Бог с ним, ладно.
Можно ли тогда в первый столбик (ключевой который) у ValueListEditor поместить ComboBox? Т.е. чтобы каждоеполе в этом столбике было с выпадающим списком.
Пользовался этим методом, но это добавляет выпадающий список во второй столбик (значение), а надо именно в первый.
ValueListEditor1.ItemProps[0].PickList.Add('значение1');
ValueListEditor1.ItemProps[0].PickList.Add('значение2');
Misterix (2009-11-25 19:25:00) [6]Опять же, вот по этой статье: http://www.delphimaster.ru/articles/stringgrid/практически то, что нужно. Многострочность понимается. Но при ручном редактированим, после нажатия "Enter", курсор не переходит на новую строку, а вместо этого выделяется вся ячейка. Как сделать, чтобы в ячейке StringGrid или ValueListEditor (без разницы) можно было работать с текстом многострочно? Т.е. чтобы после "enter'a" курсор переходил на новую строку, как положено, а не на новую ячейку.
{RASkov} (2009-11-25 19:11:00) [7]> [2] Misterix (25.11.09 19:05)
> Быть может, будет проще другим каким-то компонентом пользоваться?
Возможно.... поищи в сети примеры на тему "многострочный грид"...
Misterix (2009-11-25 19:06:00) [8]P.S. Кирюшка - это я :)
Misterix (2009-11-25 19:05:00) [9]Нет, не это :)
Так оно получается, что каждая строчка из Memo будет добавлена новой строчкой в ValueListEditor. А надо, чтобы всё в одну. Т.е. как бы одна строчка из ValueListEditor - это наподобие Memo, чтобы можно было вписывать текст в несколько строк.
Быть может, будет проще другим каким-то компонентом пользоваться?
{RASkov} (2009-11-25 19:01:00) [10]Что-то не понятно какая именно многострочность нужна....
> Как можно в ValueListEditor добавлять текст не 1 строчкой,
> а, к примеру, из TMemo? Просто там получается Strings и
> TStrings несовместимы.
ValueListEditor.Strings.Assign(Memo.Lines);
?