Показать полную графическую версию : [решено] Проблема с кнопкой выделить все
я использую лист бокс. Он мне показывает результаты, но я все обыскал в интернете, но так и не нашел как к нему прикрутить кнопку или контекстное меню выделить все.
Заранее спасибо.
asacyra, в чем именно проблема?
Для выделения - пройтись по всем элементам и выделить.
как видно на рисунке оно во одному отмечается а как сделать чтобы все сразу я вот именнно это не пойму
asacyra, вам надо ввести отдельное поле или кнопку, назвать ее "Выделить всё". А по событию Click, Check или любому понравившемуся, создать обработчик, внутри которого поместить цикл, который "пробежится" по всем значениям listbox, и поставит статус checked=true или checked=1(по обстоятельствам).
Кстати, можете попробовать, хоть я и не уверен, ввести обработку нажатых клавиш. Я не знаю, позволяет ли listbox такое делать. И тогда в обработчике Ctrl+A сделать цикл.
получается код
procedure TForm1.Button3Click(Sender: TObject);
begin
if select=true
then
begin
Listbox1.Checked:=true;
select:=false;
Button3.Caption:='Отменить все';
end
else
begin
Listbox1.Checked:=false;
select:=true;
Button3.Caption:='Выделить все';
end;
end;
просто у меня экзамен по программированию и я все сделал все работает а с кнопкой этой проблемы
asacyra, Не понятно, что этот код делает.
Чему равен select? Это глобальная переменная? Почему она используется?
Listbox1.Checked:=true;
Нет такого свойства у ListBox'ов!
Прикрепите проект. Можете убрать лишнее, если боитесь за ... "чего-то там".
это проект взят из delphi sources на основе него я делаю работу. Брал его на основе шаблона посмотреть и понять что как делается
ListView, а не ListBox.
Свойство Checkboxes определяет отображение индикатора с флажком около каждого элемента списка. Индикаторы можно устанавливать программно или их может изменять пользователь во время выполнения. Тогда узнать программно, установлен ли индикатор в некотором элементе Items[i], можно проверкой его свойства Checked. Например:
for i:=0 to ListView1.Items.Count-1 do
if ListView1.Items[i].Checked then
...;
ListView1.Items[i].Checked := true;
Взято здесь (http://beluch.ru/progr/100comp/3_6_3.htm)
Я думал, что речь таки про выделение ;).
тоесть
procedure TMainForm.Button5Click(Sender: TObject);
var
i: Integer;
begin
for i:=0 to ListView1.Items.Count-1 do
ListView1.Items.Item[i].Selected:=true;
end;
Iska, Там есть процедура SelectAll но что она делает я толком не понял.
И я думаю это не имеет смысла.
asacyra, да, именно так.
большое всем спасибо за помощь :oszone:
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.