Форум: "Компоненты";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];
ВнизСоздание компонентов Найти похожие ветки
← →
Иванушка (2005-06-10 15:46) [0]Мастера, нужно добавить в компонент новое свойство для выбора иконки или картиенки.Вродебы разобрался и вродебы нет. Не пойму обязательно переопределять событие Edit в редакторе свойств.
Если можно, то пожалуйста наглядней объясните.
← →
Юрий Зотов © (2005-06-10 21:15) [1]Делайте свойство типа TPicture, тогда свой редактор вообще не будет нужен - автоматически подключится стандартный. Пример можно посмотреть, скажем, в TImage.
← →
Иванушка (2005-06-14 12:04) [2]Объявил как TPicture, скомпилировал компонент все класно. Но вот при устаноке компонента на форму ругается:
Access violation at address 40003e91 in module "vcl50.bpl". Read of address 00000000
← →
Иванушка (2005-06-14 12:07) [3]Да, а вот на другой машине на форме показалось но при изменении любого свойства выводится уже упомянутое сообщение.
← →
-=XP=- © (2005-06-14 12:28) [4]Объявил как TPicture, скомпилировал компонент все класно. Но вот при устаноке компонента на форму ругается:
А экземпляр TPicture создаете?
И каким образом производите чтение/запись свойства?
← →
-=XP=- © (2005-06-14 12:36) [5]
type
TMyComponent = class(TComponent)
private
FPicture: TPicture;
procedure SetPicture(const APicture: TPicture);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property Picture: TPicture read FPicture write SetPicture;
end;
constructor TMyComponent.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FPicture := TPicture.Create;
end;
destructor TMyComponent.Destroy;
begin
FPicture.Free;
destructor Destroy;
end;
procedure TMyComponent.SetPicture(const APicture: TPicture);
begin
FPicture.Assign(APicture);
end;
P.S. Для отслеживания изменений у TPicture есть события OnChange, OnProgress.
← →
Иванушка (2005-06-14 12:45) [6]Я тоже вначале подумал на счет объявления. Объявил и даже инициализировал как nil. Все равно не идет. Но больше всего, что, наверное, не правильно записываю значение. Потому что я ж говорю на другой машине все класс только при выборе значения ругань всякая. К тому же ни одно свойство не возможно ввести.
Попробую по-Вашему.
← →
Иванушка (2005-06-14 13:07) [7]Не всеравно одно и тоже. Правда теперь я смог поместить на форму сам компонент и даже смог выбрать картинку(правда через все тоже сообщение), но снова Access... А что ты имел ввиду на счет отслеживания событий, где именно их отследить.
← →
-=XP=- © (2005-06-14 14:22) [8]Не всеравно одно и тоже
Приведите, пожалуйста, полный код Вашего компонента, а то получаются "разговоры ни о чем".
на счет отслеживания событий, где именно их отследитьconstructor TMyComponent.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FPicture := TPicture.Create;
FPicture.OnChange := OnPictureChange; // Метод, который будет вызываться по факту изменения Picture
end;
procedure TMyComponent.OnPictureChange(ASender: TObject);
begin
// Действия на изменение Picture
end;
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.022 c