Главная страница
    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.039 c
14-1135585883
ilya39
2005-12-26 11:31
2006.01.22
версия ADO


14-1135334312
Pazitron_Brain
2005-12-23 13:38
2006.01.22
Прочитайте статью


5-1121829947
rainy_
2005-07-20 07:25
2006.01.22
Отображение составных частей компонента


2-1136395219
maxim123
2006-01-04 20:20
2006.01.22
WinAPI проблема с type


14-1135575782
begin...end
2005-12-26 08:43
2006.01.22
С Днём рождения! 26 декабря





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский