![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ListBox [D7, NT4]
bambina © (2002-12-15 15:15:00)Как можно имея 2 Listbox"a делать только один selected Item?
т.е. если в одном выбран item, то при нажатии на другой Listbox Item из первого перестаёт быть selected..
Fanya (2002-12-16 14:18:00) [1]Просто неправильно зарегистрирован класс ListBox! Нужно выполнить алгоритм через канвас формы...
Lord Warlock (2002-12-16 14:14:00) [2]Ну странно, все работает и показывает...
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if ListB.ItemIndex>-1 then
Form1.SaveDialog1.FileName:=ListB.Items[ListB.ItemIndex];
ListB.Free
end;
Form1.procedure TForm1.Button1Click(Sender: TObject);
begin
...
Form2.ShowModal;
SaveDialog1.Execute
...
end;
bambina (2002-12-16 10:24:00) [3]u menya vot eto ne poluchaetsya.......
Form1.SaveDialog1.FileName := listB.Items[listB.ItemIndex];
ShowMessage(Form1.SaveDialog1.FileName);
t.e. on ne zapisyvaet novoe imya v SaveBox (Form4 otkrivaetsya na
ne pravilnoe imya v stroke "filename" v savebox.. i nado umet vozmozhnost vybrat imya faila iz spiskov..
Lord Warlock (2002-12-16 10:06:00) [4]Так работает listb - приватный член класса формы
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if ListB.ItemIndex>-1 then
ShowMessage(ListB.Items[ListB.ItemIndex]);
ListB.Free
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ListB:=TListBox.Create(Self);
end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
if sender=listbox1 then
begin
listbox2.ItemIndex:=-1;
listb:=ListBox1;
end
else
begin
listbox1.ItemIndex:=-1;
listb:=ListBox2;
end
end;
bambina (2002-12-16 09:39:00) [5]ya eto vot tak sdelala.. No ono pochemu-to na ShowMessage pokazivaet vse esche staroe znachenie?!?!? :((
I ya ne znayu pochemu..
procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
var listB: TListBox;
begin
if (ListBox1.ItemIndex <> -1) or (ListBox2.ItemIndex <> -1) then
begin
listB:=(FindComponent("ListBox"+ num) as TListBox);
Form1.SaveDialog1.FileName := listB.Items[listB.ItemIndex];
ShowMessage(Form1.SaveDialog1.FileName);
end;
end;
procedure TForm4.ListBox1Click(Sender: TObject);
begin
num := (Sender as TListBox).Name;
Delete(num,1, length(num)-1);
if StrToInt(num) = 1 then
begin
if ListBox2.ItemIndex <> -1 then
ListBox2.ItemIndex := -1;
end
else ListBox1.ItemIndex := -1;
end;
MBo (2002-12-15 15:28:00) [6]общий обработчик для обоих боксов
procedure TForm1.ListBox1Click(Sender: TObject);
begin
if sender=listbox1 then
listbox2.ItemIndex:=-1
else
listbox1.ItemIndex:=-1
end;