Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Упорядочение создания компонент   Найти похожие ветки 

 
saNat ©   (2005-10-19 12:44) [0]

Доброго времени суток (о:

Для своих целей создаю динамически TPanel с размещенными на ней TLabel:

TRecordPanel=Class(TPanel)
  Constructor  Create(AOwner:TComponent);              Override;
  Destructor   Destroy;                                Override;

 Private
  BeginDate            :TLabel;
  BeginTime            :TLabel;
  EndDate              :TLabel;
  EndTime              :TLabel;
  Intro                :TLabel;
  Place                :TLabel;
  Auto                 :TLabel;
  Driver               :TLabel;
  Boss                 :TLabel;

  FActiveColor         :TColor;
  FBeginDate           :String;
  FBeginTime           :String;
  FEndDate             :String;
  FEndTime             :String;
  FIntro               :String;
  FPlace               :String;
  FAuto                :String;
  FDriver              :String;
  FBoss                :String;

  Procedure   SetActiveColor(Param:TColor);
  Function    GetActiveColor:TColor;
  Procedure   SetBeginDate(Param:String);
  Function    GetBeginDate:String;
  Procedure   SetBeginTime(Param:String);
  Function    GetBeginTime:String;
  Procedure   SetEndDate(Param:String);
  Function    GetEndDate:String;
  Procedure   SetEndTime(Param:String);
  Function    GetEndTime:String;
  Procedure   SetIntro(Param:String);
  Function    GetIntro:String;
  Procedure   SetPlace(Param:String);
  Function    GetPlace:String;
  Procedure   SetAuto(Param:String);
  Function    GetAuto:String;
  Procedure   SetDriver(Param:String);
  Function    GetDriver:String;
  Procedure   SetBoss(Param:String);
  Function    GetBoss:String;

 Public

  Procedure ReFreshData;
  Procedure ReSizeData;

 Published
  Property PActiveColor:TColor
   Read  GetActiveColor
   Write SetActiveColor;
  Property PBeginDate  :String
   Read  GetBeginDate
   Write SetBeginDate;
  Property PBeginTime  :String
   Read  GetBeginTime
   Write SetBeginTime;
  Property PEndDate    :String
   Read  GetEndDate
   Write SetEndDate;
  Property PEndTime    :String
   Read  GetEndTime
   Write SetEndTime;
  Property PIntro      :String
   Read  GetIntro
   Write SetIntro;
  Property PPlace      :String
   Read  GetPlace
   Write SetPlace;
  Property PAuto       :String
   Read  GetAuto
   Write SetAuto;
  Property PDriver     :String
   Read  GetDriver
   Write SetDriver;
  Property PBoss       :String
   Read  GetBoss
   Write SetBoss;
End;


На форме расположен TScrollBox. В нем я создаю мои панели. Получается список. Сделано так:

TPRecordPanelList=^TRecordPanelList;

TRecordPanelList=Record
 Panel:TRecordPanel;
 Last:TPRecordPanelList;
 Next:TPRecordPanelList;
End;

По нажатию кнопки создаю экземпляр:

Item,ThisItem:TPRecordPanelList;
***
New(ThisItem);
ThisItem.Panel:=TRecordPanel.Create(Panel3);
ThisItem.Panel.Parent:=Panel3;
ThisItem.Panel.PBeginTime:=TimeToStr(Time);
ThisItem.Panel.ReFreshData;
If Item=Nil
 Then
  Begin
   ThisItem.Last:=Nil;
   ThisItem.Panel.PActiveColor:=clSkyBlue;
  End
 Else
  Begin
   ThisItem.Last:=Item;
   ThisItem.Panel.PActiveColor:=clSkyBlue;
   Item.Panel.PActiveColor:=clSilver;
  End;
Item:=ThisItem;
Item.Next:=Nil;
ThisItem:=Nil;
end;


Дело в том, что панели выводятся не друг за другом. Как исправить?

С уважением, ЕВА


 
clickmaker ©   (2005-10-19 12:51) [1]


> Дело в том, что панели выводятся не друг за другом. Как
> исправить?

про Left, Top в курсе?


 
saNat ©   (2005-10-19 12:56) [2]


> clickmaker ©   (19.10.05 12:51) [1]

Вообще да :о)
Она (панель) создается как "alTop"

Constructor TRecordPanel.Create(AOwner:TComponent);
Begin
Inherited;
***
Align:=alTop;
BevelInner:=bvLowered;
BevelOuter:=bvRaised;
Color:=FActiveColor;
***
End;


 
saNat ©   (2005-10-19 12:57) [3]

Я считал что они будут создаваться друг за другом сверху вниз. Ан нет.

С уважением, ЕВА


 
saNat ©   (2005-10-19 13:04) [4]

Выложить весь текст модуля?


 
saNat ©   (2005-10-19 13:34) [5]

Гм... Посмотрел в режиме разработки... Кроме различий в свойстве Top не нашел. Неужели кроме как проверять это свойство нет способов? Не очень красиво...

С уважением, ЕВА


 
Seg   (2005-10-19 13:52) [6]

Та панель, которая в центре, должна создаваться последней.


 
saNat ©   (2005-10-19 13:55) [7]

Не понял... Честно.

С уважением, ЕВА


 
evvcom ©   (2005-10-19 13:56) [8]


> Выложить весь текст модуля?

Боже упаси!


 
saNat ©   (2005-10-19 14:09) [9]

Сделал. Ручками прокручиваю ScrollBar в позицию 0. Видимо единственное решение.

Всем спасибо за внимание.

С уважением, ЕВА



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.034 c
6-1122096507
offs
2005-07-23 09:28
2005.11.06
Поиск файлов в локальной сети


9-1118065319
Gashish
2005-06-06 17:41
2005.11.06
Перенос модели в из 3d max в Delphi


1-1129707692
kyn66
2005-10-19 11:41
2005.11.06
Почему FindComponent не находит


9-1118190026
String
2005-06-08 04:20
2005.11.06
DirectX перерисовка сцены


2-1129128179
Fast2
2005-10-12 18:42
2005.11.06
Как запичать в таблицу данные типа Date?