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

Вниз

Типы потомки от стандартных   Найти похожие ветки 

 
Magic   (2002-10-17 13:19) [0]

Уважаемые Мастаки, как я могу создать класс потомок, например от TEdit, чтобы потом в run-time при создании экземпляра этого типа он обладал определенными свойствами: допустим в строке Text было что-то написано. Можно ли обойтись без описывания этого в OnShow?

Спасибо.


 
Skier   (2002-10-17 13:26) [1]

>Magic

TMyEdit = class(TEdit)
private
public
constructor Create(AOwner : TComponent); override;
end; //TMyEdit


constructor TMyEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Text := "Hello, world !";
end;


 
Separator   (2002-10-17 13:28) [2]


unit Edit1;

interface

uses
Windows, Messages, SysUtils, Classes, Controls, StdCtrls;

type
TEdit1 = class(TEdit)
private
{ Private declarations }
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
{ Public declarations }
published
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents("Samples", [TEdit1]);
end;

{ TEdit1 }

constructor TEdit1.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Text:= "MyText"
end;

end.


 
Magic   (2002-10-17 15:02) [3]

И так, я понимаю, можно задать любое свойство любого типа. А если мне надо добавить свой метод в инспектор объектов?


 
Zemal   (2002-10-17 15:13) [4]

Так бери книжку по делфи, открывай её и читай... ничего нового мы тебе тут нескажем :). Таких примеров куча в литературе и в хелпах... надо только открыть на нужной странице и... :)


 
Magic   (2002-10-17 15:22) [5]

А если нет книги, где это описывалось бы...


 
Zemal   (2002-10-17 15:35) [6]

Classes References


 
Skier   (2002-10-17 16:18) [7]

>Magic

Чтобы Инспектор Объектов видел
твои "художества" достаточно положить
их в раздел published у компонента.

Возъмём, например, публикацию события :


type

TMyEvent = procedure(Sender : TObject; const AMyParam : Integer) of object;

TMyEdit = class(TMyEdit)
//............
private
FOnMyEvent : TMyEvent;
published
OnMyEvent : TMyEvent read FOnMyEvent write FOnMyEvent;
//............
end; //TMyEdit


 
Юрий Зотов   (2002-10-17 18:46) [8]

> А если нет книги, где это описывалось бы

То в online никто ее не напишет. Даже специально для Вас.

Вы объем представляете? Для справки - книга Конопки (как раз по этой теме) порядка 400 страниц, насколько я помню.

Загляните в раздел "статьи", там было что-то типа пособия по разработке компонентов. Содержание, конечно, далеко от названия, но какие-то азы все же объясняются. Так что для начала сойдет, а потом - книги и VCL, VCL и книги.



 
Magic   (2002-10-18 11:45) [9]

Спасибо всем:)


 
Anatoly Podgoretsky   (2002-10-18 11:57) [10]

del5cw.hlp - Данный хелп как раз посвящен написанию пользовательских компонентов, и в основном хелпе есть статься написание компонент



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

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

Наверх





Память: 0.57 MB
Время: 0.035 c
1-92418
pirat
2002-10-16 22:30
2002.10.28
Как же все таки поменить оконную функцию TEdit ??? :(( HELP!


1-92438
Pat
2002-10-17 20:55
2002.10.28
Печать из QuickRep


1-92489
Mav
2002-10-18 12:35
2002.10.28
Работа с булевыми выражениями


1-92570
3d
2002-10-16 20:58
2002.10.28
Народ, нужна помощь с NMSMTP.


14-92682
^Sanya
2002-09-05 14:57
2002.10.28
---|Ветка была без названия|---





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