![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по TKOLListBox [Delphi, Windows]
ALex13 © (2004-11-08 23:12:00)Камрады помогите!
Как программно выделить определенный пункт в ListBox.
Используя CurIndex можно только получить индекс текущего элемента.
Строка типа: ListBox1.CurIndex:=5 - не срабатывает.
Использую: Delphi 6, KOL v.1.95
thaddy (2005-02-16 01:12:00) [21]hwndLV: HWND = yourcontrol.handle
Thats all
Halfback (2005-02-15 23:51:00) [22]>> Unknown Mystic
Вот теперь всё пучком. Сенкс!!!
>> VNavigator
Прошу ногами не пинать но не пойму как эту процедуру вызывать. Я вот пишу
procedure TForm1.Button1Click(Sender: PObj);
begin
Set_Checked(,1,True);
end;
А вот что писать до первой запятой??? И можно пояснение процедуры??? Т.е. что каждый параметр значит? Особенно что писать на место hwndLV: HWND ???
VNavigator (2005-02-15 23:20:00) [23]Попробуй ставить чек этой процедурой
procedure TForm1.Set_Checked(hwndLV: HWND; i: Integer; Checked: Boolean);
var
Item: TLVItem;
begin
Item.statemask := LVIS_STATEIMAGEMASK;
Item.State := ((Integer(Checked) and 1) + 1) shl 12;
SendMessage(hwndLV, LVM_SETITEMSTATE, i, Integer(@Item));
end;
Unknown Mystic (2005-02-15 14:18:00) [24]>> Halfback (15.02.05 13:59) [7]
Потому, что надо использовать метод LVItemAdd().
Что бы проверить стоит ли галочка или нет надо использовать LVItemStateImgIdx[]
// В твоем примере в цикле begin и end можно было не ставить.
Halfback (2005-02-15 13:59:00) [25]>> Unknown Mystic ©
Всё сделал как Вы написали но в компоненте вообще ничего не появляется. Вот, например, пишу процедуру:
procedure TForm1.KOLForm1FormCreate(Sender: PObj);
var
i: integer;
begin
ListView1.Clear;
for i:=1 to 10 do
begin
ListView1.Add('Slovo ' + Int2Str(i));
end;
end;
и ничего не появляется. Почему так?
Unknown Mystic (2005-02-15 12:57:00) [26]>> Halfback (15.02.05 02:09) [4]
Попробуй TKOLListView у него есть опция что-то вроде lvoCheckBoxes. Кстати Style не забудь в lvsList поставить (так кажется он называется)
SPeller (2005-02-15 10:42:00) [27]Halfback (15.02.05 2:09) [4]
Только OwnerDraw
Halfback (2005-02-15 02:09:00) [28]У меня вот тоже вопрос по TKOLListBox.
Т.к. CheckListBox в KOL/MCK нет(во всяком случае я не нашел) то вот хотелось бы узнать, как в имеющемся компоненте TKOLListBox приделать к стороке слева галочку как это реализовано в VCL CheckListBox??? А то простое выделение строки как то визуально не очень смотриться и хочется галочку.
Alex13 (2004-11-09 18:17:00) [29]Спасибо большое.
Все заработало!
ecm (2004-11-08 23:37:00) [30]Что бы работало присваивание, типа
ListBox1.CurIndex:=5
не обходимо чтобы в ListBox1.Options обязательно было:
loNoExtendSel = TRUE;
loMultiSelect = FALSE;
иначе НЕ работает :)
...
MSDN: LB_SETCURSEL
...
Remarks
Use this message only with single-selection list boxes. You cannot use it to set or remove a selection in a multiple-selection list box.
Sewix (2004-11-08 23:31:00) [31]ListBox1.ItemSelected[5]:=true;