Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Еще один вопросик по TPageControl


Автор: intDash 23.8.2004, 08:22
Уважаемый, Pakshin A. S.!
Сделала все, как Вы советовали.
Теперь получился отличный диалог, все супер.
Но почему -то свойство TabVisible работает не корректно .
Скрывает полностью TabSheet и вообще ведет себя не понятно.
Только на самом первом TabSheet работает нормально, остальные скрывает полностью.
Всячести эксперементировала, нужного результата не добилась.
Обидно, потому что работать с PageControl понравилось, не хотелось бы от этого отказываться.
.... hmmm.gif

Автор: [3Df]Grey DeMonstr 25.8.2004, 21:21
На случай если товарищ Pakshin A. S. не появится, опишите проблему поподробней или оставьте ссылку на тему форума, где вы эту проблему обсуждали.
P.S. Вообще-то свойство TabVisible и должно полностью скрывать TabSheet, так что... а как он у Вас работает на первом TabSheet?

Автор: Pakshin A. S. 25.8.2004, 22:35
biggrin.gif biggrin.gif biggrin.gif В теме надо было написать ссылку на меня: раньше бы зашел. biggrin.gif biggrin.gif biggrin.gif

Поясняю мою идею:
У каждого TabSheet'а есть свойство TabVisible. По моей идее требуется, чтобы у каждого TabSheet'а это свойство равнялось False, чтобы не видны были вверху кнопочки, или закладочки, или как там их можно назвать...

P. S.
спасибо за выбор. smile.gif
Добавлено @ 22:37
Пример формы (в текстовом виде) на три TabSheet'а:
Код

object Form1: TForm1
 Left = 192
 Top = 114
 Width = 696
 Height = 480
 Caption = 'Form1'
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = 'MS Sans Serif'
 Font.Style = []
 OldCreateOrder = False
 PixelsPerInch = 96
 TextHeight = 13
 object PageControl1: TPageControl
   Left = 200
   Top = 120
   Width = 289
   Height = 193
   TabOrder = 0
   object TabSheet1: TTabSheet
     Caption = 'TabSheet1'
     TabVisible = False
   end
   object TabSheet2: TTabSheet
     Caption = 'TabSheet2'
     ImageIndex = 1
     TabVisible = False
   end
   object TabSheet3: TTabSheet
     Caption = 'TabSheet3'
     ImageIndex = 2
     TabVisible = False
   end
 end
end

Добавлено @ 22:39
Я может не о том говорю... Если что, поясните проблемку.

Автор: intDash 26.8.2004, 14:26
Pakshin A. S., привет! Спасибо за ответ.
Вы все правильно поняли, речь именно об этом.
Я и отдельно пробывала создать PageControl с тремя TabSheet, все равно не работает TabVisible.
Может, это из-за того, что надо ручками в коде присвоить этим свойстам false,
потому что я только на панели установила.
Может из-за этого не работает?
гы

а по поводу
"В теме надо было написать ссылку на меня: раньше бы зашел"

до меня только потом дошло, как это делать.
Я вообще в форумах только по необходимости... sad.gif
Времени нет совсем.



Автор: Pakshin A. S. 26.8.2004, 18:05
На "ВЫ"! WOW! biggrin.gif

TabVisible - свойство TabSheet'а (каждого!), поэтому установить один раз TabVisible = false для какого-нибудь TabSheet'а из набора не достаточно. Надо на каждом TabSheet'е это устанавливать.

Другие способы:
1) перейти в текстовый режим и установить всё самостоятельно. (См. код);
2) в OnCreate прописывать установку свойств.

И ещё: перейдите в текстовый режим формы и скопируйте текст компонента PageControl с TabSheet'ами, может что-нибудь смогу ещё сделать в решении проблемы.

Удачи! smile.gif

Автор: intDash 26.8.2004, 19:03
Pakshin A. S.
TabVisible - свойство TabSheet'а (каждого!), поэтому установить один раз TabVisible = false для какого-нибудь TabSheet'а из набора не достаточно. Надо на каждом TabSheet'е это устанавливать.

Вы меня за кого принимаете? Конечно, я на каждом TabSheet установила TabVisible = false.
После этого не доступно все , что на TabSheet'е находится.
Попробую руками прописать, но, думаю, эффект будет тот же.
К сожалению, инет доступен только на работе, поэтому пишу прогу дома, а на работе пишу Вам smile.gif
Завтра напишу, получилось или нет. rolleyes.gif

Автор: Pakshin A. S. 28.8.2004, 15:04
Цитата

Вы меня за кого принимаете?

Я же не знал с кем разговариваю... Всякое может быть.

Может снимается PageControl.ActivePage?

Автор: Pakshin A. S. 29.8.2004, 10:28
набросал небольшой план создания формы и PageConttrol'а:
1) помещаю PageControl;
2) PageControl1.Style= tsFlatButtons;
3) создаю три TabSheet’а;
4) щёлкаю на TabSheet3 и устанавливаю TabVisible=False;
5) щёлкаю на том же месте и устанавливаю TabSheet2.TabVisible=False;
6) щёлкаю там же и устанавливаю TabSheet1.TabVisible=False;
7) (Вот на этом пункте и может у Вас выходить ошибка exclamation.gif )
Устанавливаю PageControl1.ActivePage=TabSheet1;

Без выполнения седьмого пункта ничего не выйдет!

Автор: intDash 31.8.2004, 20:37
Pakshin A. S.
Дело, действительно было в этом. Теперь все работает.
Спасибо Вам большое.


Автор: Pakshin A. S. 3.9.2004, 17:25
Обращайтесь: помогу всегда и в кратчайшие сроки! biggrin.gif

P. S. Отдельное спасибо администриции форума, точнее Vit'у и Admin'у.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)