![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выбор в TCheckListBox-е выбранных строк [D5, 2000]
worldmen © (2006-02-09 16:57:00)Как выбрать в TCheckListBox-е только выделенные строки.
Или это можно только просматривая весь список?
worldmen (2006-02-09 19:30:00) [1]Ладно, дома попробую на D7.
Джо (2006-02-09 19:19:00) [2]Черт его знает, что там в D5, может он там и в protected сидит у предка, не имею возможности проверить. Но ничто не мешает проверить тебе самому.
umbra (2006-02-09 19:18:00) [3]у меня, как ни странно, ошибочки нет. текст ниже
> Но ни разу не изменял приватные св-ва
вовсе оно и публичное, правда делфи у меня 7-й
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, CheckLst;
type
TForm1 = class(TForm)
CheckListBox1: TCheckListBox;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
CheckListBox1.MultiSelect := true;
end;
end.
worldmen (2006-02-09 19:09:00) [4]Ошибочку выводит на эту строку (Undeclared identifer:Multiselect ):
CheckListBox1.Multiselect := true;
P.S.: Событиями я умею пользоваться. Но ни разу не изменял приватные св-ва.
umbra (2006-02-09 19:02:00) [5]в инспекторе объектов выбираете форму, идете на закладку Events, клацаете два раза возле надписи OnCreate, появляется заготовка процедуры в редакторе. В этой заготовке пишете
CheckListBox1.Multiselect := true;
P.S. И Вам срочно надо прочесть что-нибудь об основах программирования в Делфи и об объектно-ориентированном программировании (ООП), напрмер, в справке по Делфи
worldmen (2006-02-09 18:50:00) [6]Честно, не понимаю как это сделать. Раньше такого не делал. ????
Gero (2006-02-09 18:36:00) [7]> worldmen © (09.02.06 18:32)
В данном случае без разницы.
worldmen (2006-02-09 18:32:00) [8]А что, без разницы в каком
OnCreateделать?
Gero (2006-02-09 18:21:00) [9]> Чето нету обработчика OnCreate в событиях CheckListBox1
Зато у TForm есть.
worldmen (2006-02-09 18:17:00) [10]Чето нету обработчика
OnCreateв событияхCheckListBox1.
umbra (2006-02-09 18:04:00) [11]2 worldmen
в общем, его надо устанавливать, например, в обработчикеOnCreateформы, на которой находитсяCheckListBox1
umbra (2006-02-09 17:56:00) [12]2 Джо © (09.02.06 17:50) [6]
оно находится в секцииpublicпредкаTCustomListBox
Джо (2006-02-09 17:53:00) [13]> [6] Джо © (09.02.06 17:50)
Ошибся. Оно просто отсутствует в published, т.е., недоступно в дизайнере, но зато доступно в ран-тайм.
worldmen (2006-02-09 17:52:00) [14]Понятно
Джо (2006-02-09 17:50:00) [15]> [4] worldmen © (09.02.06 17:43)
> А где находится это св-во?
> Не в CheckListBox1.Items.MultiSelect не CheckListBox1.MultiSelect
> его нет.
Оно находится в секции private, наследуется от TCustomListBox. Следовательно, в CheckListBox оно всегда будет False, в отличие от TListBox, в котором оно вынесено в published.
umbra (2006-02-09 17:48:00) [16]в CheckListBox1
worldmen (2006-02-09 17:43:00) [17]А где находится это св-во?
Не в CheckListBox1.Items.MultiSelect не CheckListBox1.MultiSelect его нет.
Джо (2006-02-09 17:36:00) [18]When the MultiSelect property is False, SelCount is always –1.
worldmen (2006-02-09 17:34:00) [19]Еще вопрос.
Свойство CheckListBox1.SelCount - указывает число выбранных элементов.
Но почемуто всегда оно равно -1 (минус единице). Почему? Или это св-во не работает.
Gero (2006-02-09 16:58:00) [20]> Или это можно только просматривая весь список?
Да.