Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: CL | DM;

Вниз

Проблема с созданием елементов в Notebook   Найти похожие ветки 

 
Дмитрий_177   (2005-12-16 09:13) [0]

Столкнулся тут с непонятной мне проблеммой. Мне нужно в зависимости от того сколько строк находится в ListBox-е создать Notebook с таким же колличеством "листов", и при нажатии по ListBox-у открывалась нужная страница Notebook-ка. В зависимости от выбранной строки ListBox-а мне нужно чтобы елементы на форме менялись, вот я и делаю через Notebook. Все хорошо, по проблема в том, что если в ListBox-е находится только одна строка, т.е. цикл проходит один раз со значением i=0 то на Notebook-е никаких эллементов не появляется... а если в ListBox-е больше одной строки, то все работает... почему так? может подскажет ктонибудь? я что-то никак понять не могу...


type
 TForm1 = class(TForm)
 private
   Notebook1: TNotebook;
 end;
...
procedure TForm1.Button1Click(Sender: TObject);
var
i: smallint;
begin
if ListBox1.Items.Count <> 0 then
 begin
 Notebook1 := TNotebook.Create(Self);
 Notebook1.Parent := TabSheet1;
 Notebook1.SetBounds(8, 8, 465, 265);
 Notebook1.Anchors := [akLeft, akTop, akRight, akBottom];
 Notebook1.Pages := ListBox1.Items;
 Notebook1.Color := clblack;

 for i := 0 to ListBox1.Items.Count - 1 do
   begin
   with TLabel.Create(Self) do
     begin
     Parent := TPage(Notebook1.Pages.Objects[i]);
     Left := 10;
     Top := 10;
     Anchors := [akLeft, akTop];
     Font.Color := clwhite;
     Caption := ListBox1.Items[i];
     end;
   end;
 ListBox1.ItemIndex := 0;
 Notebook1.PageIndex := 0;
 end;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
if ListBox1.ItemIndex <> -1 then
 Notebook1.PageIndex := ListBox1.ItemIndex;
end;


P.S. Сам Notebook создается и с одной строкой в ListBox-е.
P.S.S. Notebook создаю на PageControl-е на закладке TabSheet1


 
Дмитрий_05   (2005-12-16 13:12) [1]

Т.е. получается цикл проходит а объекты не создаются... почему это так?


 
Leonid Troyanovsky ©   (2005-12-16 13:31) [2]


> Дмитрий_177   (16.12.05 09:13)  

> создать Notebook с таким же колличеством "листов"


TNotebook is provided for backward compatibility.
New applications should use TPageControl instead.

--
Regards, LVT.


 
clickmaker ©   (2005-12-16 13:38) [3]

может всет-ки
Notebook1.Pages.Assign(ListBox1.Items); ?


 
Дмитрий_177   (2005-12-16 13:47) [4]

clickmaker Впринципе без разницы Assign выполнять или просто присваивание... и так и так не работает с отдной строкой...


 
clickmaker ©   (2005-12-16 13:56) [5]

Parent := TPage(Notebook1.Pages.Objects[i]);  =>  Parent := Notebook1;


 
Дмитрий_177   (2005-12-16 19:02) [6]

А как же мне тогда Label разместить на определенной странице Notebook-а?



Страницы: 1 вся ветка

Текущий архив: 2006.01.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
14-1135949217
ANB
2005-12-30 16:26
2006.01.22
Какое расстояние от Туркмении до Украины по суше ?


1-1135075605
KvORubin
2005-12-20 13:46
2006.01.22
Мастера!!! подскажите болбесу!!! ещё раз


3-1132759401
AlexLines
2005-11-23 18:23
2006.01.22
RichView и win ME (98). Оператор Select и Pentium 3


2-1136484770
Purgen
2006-01-05 21:12
2006.01.22
DLL


2-1136287686
Officeman
2006-01-03 14:28
2006.01.22
Как програмно закрасить кнопку (TButton) красным ?