Пятница, 19 Апреля 2024, 03:08

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Динамический PageControl (Нужна подсказка.)
Динамический PageControl
slagusevДата: Четверг, 26 Мая 2011, 12:15 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
На форме PageControl итри кнопки. При нажатии на кнопку 1, создается новая вкладка, кнопка 2 это удаление активной вкладки PageControl и свойство Enable Кнопки 3 становится False. Собственно интересует вопрос по Кнопке 2 ибо ибо свойство Enable кнопки 3 так и остается True
КНОПКА 1:
Code

var
   Page : TsTabSheet;
begin
Page := TsTabSheet.Create(PageControl1);
with Page do
PageControl := PageControl1;
Page.Caption:= 'Пустой файл';
PageControl1.ActivePageIndex := PageControl1.PageCount - 1;
end;


КНОПКА 2:
Code

begin
AllowClose := True;
begin
if PageControl1.PageCount < 0 then
Button3.Enable := False;
end;
end;
lvovandДата: Четверг, 26 Мая 2011, 12:20 | Сообщение # 2
старожил
Сейчас нет на сайте
delphi давно не открывал, но разве PageControl1.PageCount может быть меньше 0?

Разработка и продвижение сайтов. Дизайн
slagusevДата: Четверг, 26 Мая 2011, 12:50 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Так 0 же самая первая вкладка. Соответственно < 0 полное их отсутствие
lvovandДата: Четверг, 26 Мая 2011, 13:17 | Сообщение # 4
старожил
Сейчас нет на сайте
тут же не порядковый номер, а количество имеется ввиду. А кол-во либо 0 либо больше,
видимо поэтому условие
if PageControl1.PageCount < 0
не сработает


Разработка и продвижение сайтов. Дизайн
slagusevДата: Четверг, 26 Мая 2011, 14:00 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Quote (lvovand)
тут же не порядковый номер, а количество имеется ввиду. А кол-во либо 0 либо больше,

Ой, пардон. PageCount - это общее число страниц. Если количество < 0 тогда Button3.Enable := False;
lvovandДата: Четверг, 26 Мая 2011, 14:09 | Сообщение # 6
старожил
Сейчас нет на сайте
так поправь
if PageControl1.PageCount < 0
на
if PageControl1.PageCount = 0


Разработка и продвижение сайтов. Дизайн
slagusevДата: Четверг, 26 Мая 2011, 14:19 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Quote (lvovand)
так поправь
if PageControl1.PageCount < 0
на
if PageControl1.PageCount = 0


Code

begin
AllowClose := True;
begin
if PageControl1.PageCount = 0 then
UndoBtn.Enabled := False;
end;

Все равно кнопка активной остается
lvovandДата: Четверг, 26 Мая 2011, 14:58 | Сообщение # 8
старожил
Сейчас нет на сайте
а пошагово проходил по коду, когда он проходит по этому участку?

Разработка и продвижение сайтов. Дизайн
slagusevДата: Суббота, 28 Мая 2011, 06:55 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Quote (lvovand)
а пошагово проходил по коду, когда он проходит по этому участку?

Пробовал, все нормально

Добавлено (28.05.2011, 06:55)
---------------------------------------------
Собственно справился с проблемой через ActivePageIndex = 0. Тему можно закрывать.

Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Динамический PageControl (Нужна подсказка.)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг