Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];

Вниз

Убрать свойство из класса   Найти похожие ветки 

 
oleg1963lora   (2010-02-03 09:57) [0]

Здравствуйте уважаемые мастера! Создал класс на основе панели. В свойствах указал координаты, высоту и ширину. Потом решил высоту и ширину определять внутри объекта, но столкнулся с фокусом.
Если убрать свойство, оставив процедуру в защищенном разделе, при ее вызове меняются размеры главной формы. Т.е. при

procedure TComponent1.SetLeftPos(Value: integer);
begin
    Panel.Left:=Value;
    Label1.Left:=10;
    ProgressBar.Left:=30;
    ............................
    SetWidth(70);
end;
форма принимает вид узкой полоски

Родители объявлены так
procedure TComponent1.SetParent(Value: TWinControl);
begin
    Panel.Parent:=Value; {Form1}
    Label1.Parent:=Panel;
    Label2.Parent:=Panel;
    ProgressBar.Parent:=Panel;
    ModLevel.Parent:=Panel;
    ModDisorder.Parent:=Panel;
    BasicLevel.Parent:=Panel;
    DisOrderLevel.Parent:=Panel;
    TurnOn.Parent:=Panel;
end;
 Как избежать такое явление? Где я ошибся?


 
12 ©   (2010-02-03 10:26) [1]


> SetWidth(70);

а это как?


 
oleg1963lora   (2010-02-03 11:25) [2]


> а это как?

Вместо
 protected
   { Protected declarations }
   procedure SetLeftPos (Value : integer);
   procedure SetTopPos (Value : integer);
   procedure SetWidth (Value : integer);
  {-----------------------------------}
 public
   { Public declarations }
   property LeftPos : integer write SetLeftPos;
   property TopPos : integer write SetTopPos;
   property Width  : integer write SetWidth;
  {---------------------------------------}

сделал

protected
   { Protected declarations }
   procedure SetLeftPos (Value : integer);
   procedure SetTopPos (Value : integer);
   procedure SetWidth (Value : integer);
  {-----------------------------------}
 public
   { Public declarations }
   property LeftPos : integer write SetLeftPos;
   property TopPos : integer write SetTopPos;
  {---------------------------------------}
и в теле SetLeftPos вызываю.


 
12 ©   (2010-02-03 12:10) [3]

а чего в SetWidth написано?
вообще, полный листинг можно?

чет ниче не понял -
>> Родители объявлены так
родители какие-то.. Родитель по-идее один, от кого наследуемся.


 
Ega23 ©   (2010-02-03 12:12) [4]

Я нихрена не понял.


 
brother ©   (2010-02-03 12:20) [5]

ждем внятных объяснений...


 
oleg1963lora   (2010-02-03 15:57) [6]

В общем, я установки высоты и ширины компонетов вбил напосредственно в конструктор Create сразу после создания компонентов. ИМХО не очень красиво, однако работает. За вопрос извиняюсь.


 
Ega23 ©   (2010-02-03 16:00) [7]


> ИМХО не очень красиво, однако работает


Почему бы и нет?



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

Форум: "Начинающим";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
15-1263485249
имя
2010-01-14 19:07
2010.04.04
Юридическая констатация всем давно известного факта


2-1264842900
Евгений Р.
2010-01-30 12:15
2010.04.04
Русские буквы в полях ADO-таблиц (DBF)


10-1165236483
Alex_C
2006-12-04 15:48
2010.04.04
Закрытие сервера


15-1263472832
DeadMeat
2010-01-14 15:40
2010.04.04
Перехват информации


15-1263276336
Kolan
2010-01-12 09:05
2010.04.04
Как управлять версиями веб-проектов





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