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

Вниз

Объект и класс   Найти похожие ветки 

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

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

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


 
Джо ©   (2005-09-30 04:42) [1]

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

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


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

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


 
Джо ©   (2005-09-30 04:55) [3]


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

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


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


> Men.imgFoto.Picture := Img.Picture

Men.imgFoto := Img


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

>>Джо ©   (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-10-02 10:18) [6]

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


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


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


 
Kolan ©   (2005-10-02 11:27) [7]

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



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

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

Наверх




Память: 0.48 MB
Время: 0.028 c
2-1128263666
ABS
2005-10-02 18:34
2005.10.23
Dialogs


1-1128083388
B@BY
2005-09-30 16:29
2005.10.23
Функция для работы со временем (TDateTime)


4-1124531824
FireMan_Alexey
2005-08-20 13:57
2005.10.23
Как добавить свой параметр в консольное меню проводника!


3-1126250841
carmen
2005-09-09 11:27
2005.10.23
DOS кодировка в базе Paradox


14-1127883700
Ega23
2005-09-28 09:01
2005.10.23
С днем рождения! 28 сентября