Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2009, 08:13   #1
edik
Пользователь
 
Регистрация: 30.11.2009
Сообщений: 21
По умолчанию как настроить updown с pagecontrol

я подключил updown с pagecontrol. но при смене tabsheetов в ручную не через комп-т updown число меняется на updown и при перешелкивании вниз вверх он либо не доходит до конца либо не возвращяется до конца. Шаг фиксирую только в процед.

Код:
procedure TForm1.UpDown1ChangingEx(Sender: TObject;
  var AllowChange: Boolean; NewValue: Smallint;
  Direction: TUpDownDirection);
begin
case Direction of
  updUp:
    begin
      PageControl1.TabIndex:=UpDown1.Position+1;
    end;
  updDown:
    begin
       PageControl1.TabIndex:=UpDown1.Position-1;
    end;
  end
end;
у кого может есть какие варианты как сделать чтобы при перешелке и табшитов не терялось значение.

Последний раз редактировалось mihali4; 27.12.2009 в 14:38.
edik вне форума Ответить с цитированием
Старый 16.12.2009, 08:47   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Код:
...

private
    ch: boolean; //Можно ли менять позицию у UpDown
...

procedure TForm1.FormCreate(Sender: TObject);
begin
 ch := true;
end;

procedure TForm1.PageControl1Change(Sender: TObject);
begin
 ch := false;
 UpDown1.Position := PageControl1.TabIndex;
 ch := true;
end;

procedure TForm1.UpDown1ChangingEx(Sender: TObject; var AllowChange: Boolean;
  NewValue: SmallInt; Direction: TUpDownDirection);
begin
 if not ch then exit;

 case Direction of
  updUp: if PageControl1.TabIndex <> PageControl1.PageCount - 1 then
          PageControl1.TabIndex := UpDown1.Position + 1;
  updDown: if PageControl1.TabIndex <> 0 then
            PageControl1.TabIndex := UpDown1.Position - 1
           else UpDown1.Position := 0;
 end
end;

procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
 if PageControl1.TabIndex = PageControl1.PageCount - 1 then
  UpDown1.Position := PageControl1.PageCount - 1;
end;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 16.12.2009, 08:54   #3
edik
Пользователь
 
Регистрация: 30.11.2009
Сообщений: 21
По умолчанию

Благодарю за помощь решение помогло
edik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pagecontrol как у инетбраузеров beemoto Общие вопросы Delphi 6 19.07.2009 14:05
как отрисовать tab-ы в pagecontrol? blackstersl Общие вопросы Delphi 5 09.07.2009 17:57
Как убрать часть PageControl`a Lemo Общие вопросы Delphi 1 16.03.2009 16:43
UpDown MasterofCDM Общие вопросы Delphi 3 23.01.2009 10:37
Цвет UpDown 3lander Общие вопросы Delphi 0 24.10.2007 00:09