Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Вниз

Проблема с созданием елементов в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.033 c
14-1135611667
Fl@sh
2005-12-26 18:41
2006.01.22
Настройки редактора


3-1132653380
ShiFT
2005-11-22 12:56
2006.01.22
получение BLOBField в Потоке.


4-1131829875
nilin2005
2005-11-13 00:11
2006.01.22
переполнение буфера


2-1135854373
vitalik2222
2005-12-29 14:06
2006.01.22
ComboBox[i]-?


2-1136558855
dabreezy
2006-01-06 17:47
2006.01.22
Команда при запуске программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский