Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Объект и класс [D5, XP]


Старшеклассник ©   (2005-09-30 04:34:00) 

Есть класс
TMyClas = class
       ......
       public
        lbName : TLabel;
        imgFoto : TImage;
        btOpen : TButton;
        ClientBox : TGroupBox;
      .....

Есть готовая форма с лабелом, картинкой, кнопкой и групбоксом. Как после создания объекта Men : TMyClasназначить ему готовые контролы с формы?
Так? :
  Men.lbName := Form1.Label1;Чтобы можно было работать с ними например так Men.lbName := 'Вася Пупкин';и на форме это отображалось?


Kolan   (2005-10-02 11:27:00) [1]

Поля должны быть доступны только внутри класса. А называется это инкапсуляция.


Старшеклассник   (2005-10-02 10:18:00) [2]

Спасибо, разобрался.


> Только поля делать паблик - дурной тон.


А что дурного в этом? Чем чревато?


Старшеклассник   (2005-10-01 22:07:00) [3]

>>Джо ©   (30.09.05 4:42) [1]
>>var
>> MyClass: TMyClass;
>>...
>> MyClass := TMyClass.Create;
>> MyClass.lbName := Label1;
>> MyClass.lbName.Caption := 'Вася Пупкин';

На форме кроме всего есть картинка Img. Я делаю так: MyClass.ImgFoto := Img; А потом мне нужно поменять картинку, для этого я положил на форму еще одну картинку ImgNone, сделал ее невидимой и в нее поместил нужную картинку. Меняю картинку так: MyClass.ImgFoto.Picture := ImgNone.Picture; а картинка в Img не меняется. Как сделать?


Думкин   (2005-09-30 07:08:00) [4]


> Men.imgFoto.Picture := Img.Picture

Men.imgFoto := Img


Джо   (2005-09-30 04:55:00) [5]


> В Img картинка, но в Men.imgFoto ничего не меняется.

А что там должно меняться?


Старшеклассник   (2005-09-30 04:53:00) [6]

Я так сделал. А не работает это:
Men.imgFoto.Picture := Img.Picture
В Img картинка, но в Men.imgFoto ничего не меняется.


Джо   (2005-09-30 04:42:00) [7]

var
 MyClass: TMyClass;
...
 MyClass := TMyClass.Create;
 MyClass.lbName := Label1;
 MyClass.lbName.Caption := 'Вася Пупкин';

Только поля делать паблик - дурной тон. Перемести их в private, а в public сделай свойства с соответствующими аксессорами (методами доступа).


Наверх

Титульная страница Поиск, карта сайта Написать письмо