dEEp |
Отправлено: 10.03.2005, 17:11 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 69
|
Чего-то я не соображу... Скажите, как можно программно выделить определённую строку в ListBox'e?
|
|
telepath |
Отправлено: 10.03.2005, 17:19 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 132
|
Если выключен multiselect, то CODE | ListBox->ItemIndex = 0; |
курсор переводится на верхнюю строчку |
|
olegenty |
Отправлено: 10.03.2005, 17:19 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
QUOTE | Indicates whether a particular item is selected.
__property bool Selected[int Index] = {read=GetSelected, write=SetSelected};
Description
Use Selected to query the state of a particular item in the list box. If the item specified by the Index parameter is selected in the list box, the value of the Selected property is true. If the specified item is not selected, Selected is false. Set Selected to change the currently selected item.
The Index parameter is the item referenced by its position in the list box, with the first item having an Index value of 0.
An item is selected when the user highlights it. More than one item in the list box can be selected by setting the MultiSelect property to true. In this case, the Selected item is the one that has focus when the list box has input focus. |
|
|
dEEp |
Отправлено: 10.03.2005, 17:31 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 69
|
ОК. Попробую. Только вот ещё один вопрос. Как можно строки в ListBox'e перемешать. Естьли что-то вроде random'a?
|
|
Bond |
Отправлено: 10.03.2005, 18:11 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 142
|
Вызови хелп по TStrings::Exchange(...) (тип свойства TListBox::Items)
QUOTE | Swaps the position of two strings in the list.
virtual void __fastcall Exchange(int Index1, int Index2);
Description
Call Exchange to rearrange the strings in the list. The strings are specified by their index values in the Index1 and Index2 parameters. Indexes are zero-based, so the first string in the list has an index value of 0, the second has an index value of 1, and so on.
If either string has an associated object, Exchange changes the position of the object as well | Пример: поменять местами строки с индексами 1 и 2 (вторая и третья строка)CODE | ListBox1->Items->Exchange( 1, 2 ); |
|
|
dEEp |
Отправлено: 11.03.2005, 00:20 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 69
|
Bond , может подскажешь ещё, как узнать размерность массива. Предположим ...
CODE | AnsiString Str[]={"...", "...", "..."}; |
Каким образом можно узнать кол-во элементов в массиве?
|
|
Георгий |
Отправлено: 11.03.2005, 00:46 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
CODE | sizeof(Str)/sizeof(Str[0]) | |
|
dEEp |
Отправлено: 11.03.2005, 02:11 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 69
|
Придумал! Так лучше (понятнее для меня)...
CODE |
int t=0;
for (int i=1; i<255; i++)
{
t++;
if (answer[i]<NULL)
{
break;
Edit1->Text=t;
}
}
|
Мне так нравится больше. При условии, если кол записей не превышает 255.
|
|
Георгий |
Отправлено: 11.03.2005, 07:29 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
если не секрет, то как вот эту строчку понимать:такое условие всегда даёт false |
|
Bond |
Отправлено: 11.03.2005, 11:29 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 142
|
А не проще использовать класс TStringList?
|
|
Guest |
Отправлено: 11.03.2005, 22:00 |
|
Не зарегистрирован
|
QUOTE (Георгий @ 11/03/2005, 07:29) | если не секрет, то как вот эту строчку понимать:такое условие всегда даёт false |
По крайней мере так работает! |
|