Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2010, 19:45   #1
iiunbreakableii
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 89
По умолчанию Создание компонентов в Delphi

Здравствуйте, друзья!
Мне понадобилось создать гибрид двух компонентов. Я раньше никогда не создавал компоненты, поэтому не до конца понимаю как же все-таки их сделать. Вот что я написал:
Код:
unit ComplexPager;

interface

uses
  SysUtils, Classes, Controls, AdvOfficePager, AdvMemo;

type
  TComplexPager = class(TAdvOfficePager)
  private
  FMemo: TAdvMemo;
  procedure SetMemo(const Value: TAdvMemo);
  protected
  public
    function AddAdvPage(PageCaption: TCaption): integer; override;
  published
    property Memo: TAdvMemo read FMemo write SetMemo;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Complex', [TComplexPager]);
end;


function TComplexPager.AddAdvPage(PageCaption: TCaption): integer;
var
  aPage: TAdvOfficePage;
  aMemo: TadvMemo;
begin
  aPage := TAdvOfficePage.Create(Self);
  aMemo := TAdvMemo.Create(self);
  aMemo.Parent := aPage;
  aPage.FMemo := aMemo;

  aPage.Caption := PageCaption;
  Result := AddAdvPage(aPage);
end;

procedure TComplexPager.SetMemo(const Value: TadvMemo);
begin
  if (FMemo <> Value) then
  begin
    FMemo := Value;
    Invalidate;
  end;
end;

end.
если я все правильно написал, то по задумке у меня к компоненту TAdvOfficePager должно добавиться свойство Мемо. также мне необходимо, чтобы при создании новой вкладки вместе с ней создавалось и поле Мемо, поэтому я "попытался" переопределить процедуру создания новой вкладки. Так вот, (если все правильно, если нет - исправьте пожалуйста) что делать дальше, чтобы получился настоящий компонент, который будет размещен на палитре компонентов?
Всем заранее спасибо за помощь чайнику в создании его первого компонента : )

(если это важно, я пишу на Delphi 2010)
iiunbreakableii вне форума Ответить с цитированием
Старый 06.02.2010, 19:52   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

http://www.programmersforum.ru/showp...0&postcount=36
mihali4 вне форума Ответить с цитированием
Старый 07.02.2010, 16:26   #3
iiunbreakableii
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 89
По умолчанию

спасибо, все получилось
iiunbreakableii вне форума Ответить с цитированием
Старый 08.02.2010, 11:41   #4
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

А выложите ваш компонент в этой теме.
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание собственных компонентов D7 postal2 Помощь студентам 4 21.08.2009 09:07
Создание компонентов Delphi Frozen inside Помощь студентам 4 18.04.2009 12:00
Создание массива компонентов artemavd Общие вопросы Delphi 8 30.03.2009 15:43
Литература создание компонентов delphi D7_beginner Свободное общение 1 20.11.2007 15:01