Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > ValueListEditor, обращение к полям


Автор: Joker07 23.10.2008, 21:00
Здравствуйте! 
Впервые юзаю данный компонент, помогите разобраться как взаимодействовать с полями key и value, а именно:
1. Как записать значения в поля key и value?
2. Можно ли менять цвет или шрифт какой-либо строки в поле key?
Я пишу так: 
Код

form1.ValueListEditor1.Strings.Text:='Значение1';
form1.ValueListEditor1.Strings.Add('Значение2');

Получается изменять значение поля value и все.

Автор: Christoph 23.10.2008, 21:20
с полями работают только свойства

Автор: Christoph 23.10.2008, 22:35
Lists the strings for each cell in the name (key) column.

Код

property Keys[Index: Integer]: string;


Represents the value part of a string associated with a given name, on strings that are name-value pairs.
Код

property Values[const Name: string]: string;


Подробней в документациях есть

Автор: Bose 24.10.2008, 03:57
Цитата(Joker07 @  23.10.2008,  21:00 Найти цитируемый пост)
1. Как записать значения в поля key и value?

Варианты:
    form1.ValueListEditor1.Strings.Text:='Ключ1=Значение1';
    или так
    form1.ValueListEditor1.Values['Ключ1']:= 'Значение1';

Автор: Coder 24.10.2008, 06:00
Проще всего сделать так:

Код

ValueListEditor1.InsertRow('key1','value1');
ValueListEditor1.InsertRow('key2','value2');
...

Автор: Joker07 24.10.2008, 19:11
Цитата(Coder @ 24.10.2008,  06:00)
Проще всего сделать так:

Код

ValueListEditor1.InsertRow('key1','value1');
ValueListEditor1.InsertRow('key2','value2');
...

Not enought actual parametrs.  smile 

Цитата(Bose @ 24.10.2008,  03:57)

Код

form1.ValueListEditor1.Strings.Text:='Ключ1=Значение1';
или так
form1.ValueListEditor1.Values['Ключ1']:= 'Значение1';

а за это спасибо)  smile 

Автор: Joker07 24.10.2008, 19:34
Первый вопрос решен, но второй остается в силе.
Можно ли менять цвет или шрифт выбранной строки в поле key или value? Если да, то как?

Автор: Coder 25.10.2008, 05:09
Joker07, забыл последний параметр указать. Заглянул бы в справку или список параметров функции и все бы встало на свои места.

Код

Inserts a row in the value list editor and a corresponding string into the associated TStrings object.

function InsertRow(const KeyName, Value: string; Append: Boolean): Integer;

Description

Call InsertRow to add a name/value pair to the value list editor and the TStrings object it is editing.

InsertRow adds a string of the form 

KeyName=Value

to the Strings property and updates the display to reflect the change.

If the current row of the value list editor is empty (has no name or value portion), InsertRow assigns the new KeyName and Value to the current row. Otherwise, if the Append parameter is true, the new string appears after the currently selected row, while if Append is false, the new string appears before the currently selected row.

Note:    InsertRow inserts the specified row regardless of the value of KeyOptions. The keyAdd member of KeyOptions controls only whether the user can add new rows by pressing the Insert key or navigating past the last row.

Автор: Bose 25.10.2008, 21:50
Цитата(Joker07 @  24.10.2008,  19:34 Найти цитируемый пост)
Можно ли менять цвет или шрифт выбранной строки в поле key или value? Если да, то как? 

Смотри событие OnDrawCell

Автор: Joker07 28.10.2008, 21:04
Цитата(Bose @ 25.10.2008,  21:50)
Цитата(Joker07 @  24.10.2008,  19:34 Найти цитируемый пост)
Можно ли менять цвет или шрифт выбранной строки в поле key или value? Если да, то как? 

Смотри событие OnDrawCell

непонятно.  smile 

Автор: Bose 28.10.2008, 21:53
Цитата(Joker07 @  28.10.2008,  21:04 Найти цитируемый пост)
непонятно.

поиск рулит

http://forum.vingrad.ru/forum/topic-132336.html

http://base.vingrad.ru/view/590-TSvetnyie-yacheyki-v-StringGrid---DBGrid

http://base.vingrad.ru/view/620-Mnogostrochnyie-yacheyki-v-StringGrid


Автор: Joker07 15.11.2008, 20:07
В гриде можно выделять ячейки синим цветом (по умолчанию), но при изменении цвета через OnDrawCell цвет выделенных ячеек уже никак не меняется. Как этого избежать?

Автор: Bose 16.11.2008, 02:56
Цитата(Joker07 @  15.11.2008,  20:07 Найти цитируемый пост)
В гриде можно выделять ячейки синим цветом (по умолчанию), но при изменении цвета через OnDrawCell цвет выделенных ячеек уже никак не меняется. Как этого избежать? 


Примерно так:

Код

procedure bla-bla-bla.bla-bla-DrawCell

if gdSelected in CellState then
      ValueListEditor1.Canvas.Brush.Color:=clHighlight
    else
      ValueListEditor1.Canvas.Brush.Color:=Color

Автор: Joker07 16.11.2008, 20:29
Спасибо)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)