Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Проблема с кнопкой выделить все (http://forum.oszone.net/showthread.php?t=255985)

asacyra 11-03-2013 08:26 2108397

Проблема с кнопкой выделить все
 
Вложений: 1
я использую лист бокс. Он мне показывает результаты, но я все обыскал в интернете, но так и не нашел как к нему прикрутить кнопку или контекстное меню выделить все.
Заранее спасибо.

LilLoco 11-03-2013 10:06 2108434

asacyra, в чем именно проблема?
Для выделения - пройтись по всем элементам и выделить.

asacyra 11-03-2013 13:21 2108525

как видно на рисунке оно во одному отмечается а как сделать чтобы все сразу я вот именнно это не пойму

lxa85 11-03-2013 13:32 2108531

asacyra, вам надо ввести отдельное поле или кнопку, назвать ее "Выделить всё". А по событию Click, Check или любому понравившемуся, создать обработчик, внутри которого поместить цикл, который "пробежится" по всем значениям listbox, и поставит статус checked=true или checked=1(по обстоятельствам).

Кстати, можете попробовать, хоть я и не уверен, ввести обработку нажатых клавиш. Я не знаю, позволяет ли listbox такое делать. И тогда в обработчике Ctrl+A сделать цикл.

asacyra 11-03-2013 13:48 2108541

получается код
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 11-03-2013 14:24 2108563

просто у меня экзамен по программированию и я все сделал все работает а с кнопкой этой проблемы

lxa85 11-03-2013 14:48 2108586

asacyra, Не понятно, что этот код делает.
Чему равен select? Это глобальная переменная? Почему она используется?
Код:

Listbox1.Checked:=true;
Нет такого свойства у ListBox'ов!
Прикрепите проект. Можете убрать лишнее, если боитесь за ... "чего-то там".

asacyra 11-03-2013 22:25 2108892

Вложений: 1
это проект взят из delphi sources на основе него я делаю работу. Брал его на основе шаблона посмотреть и понять что как делается

lxa85 11-03-2013 23:39 2108929

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;
Взято здесь

Iska 12-03-2013 00:29 2108975

Я думал, что речь таки про выделение ;).

asacyra 12-03-2013 01:53 2109010

тоесть
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;

lxa85 12-03-2013 07:15 2109048

Iska, Там есть процедура SelectAll но что она делает я толком не понял.
И я думаю это не имеет смысла.
asacyra, да, именно так.

asacyra 12-03-2013 07:51 2109057

большое всем спасибо за помощь :oszone:


Время: 01:43.

Время: 01:43.
© OSzone.net 2001-