IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Компонент
sheka
сообщение 17.11.2009 18:43
Сообщение #1


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


С помощью инета сделал свой компонент. Подскажите, как
unit component1;

interface

{uses
SysUtils, Classes, ExtCtrls;}
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;

var Timer: TTimer;

type
tcomponent1 = class(TComponent)

private
{ Private declarations }
FShowType:boolean;
protected
{ Protected declarations }
procedure OnTimer(Sender: TObject);
public
{ Public declarations }
constructor Create(AOwner:TComponent);override;
published
{ Published declarations }
property ShowType: boolean read FshowType write FShowType;
end;



procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Samples', [tcomponent1]);
end;

constructor tcomponent1.Create(aowner:Tcomponent);
begin
Timer:=TTimer.Create(self);
Timer.Enabled:=true;
Timer.OnTimer:=OnTimer;
Timer.Interval:=1000;
end;

procedure tcomponent1.OnTimer(Sender: TObject);
begin
FShowType:=not FShowType; <<----------------------------------------вот здесь
end;

end.

изменять, например, свойство Visible формы, на которую этот компонент установлен.

Сообщение отредактировано: sheka - 17.11.2009 18:43
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
sheka
сообщение 11.12.2009 0:26
Сообщение #2


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Создается компонент, картинка. при нажатии на нее изменяется цвет компонента. Но почему-то не видно дополнительной картинки...(которая находится в средине компонента). Подскажите пожалуйста.
 unit image1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
timage1 = class(TImage)
private
{ Private declarations }
protected
{ Protected declarations }
procedure MyOnClick(Sender: TObject);
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
published
{ Published declarations }
image1: Timage; // даже сюда поместил, а не в protected, думал видно будет
end;

procedure Register;

implementation

var b:boolean;

procedure Register;
begin
RegisterComponents('Samples', [timage1]);
end;

constructor timage1.Create(AOwner: TComponent);
begin
inherited;
Self.OnClick := MyOnClick;
image1 := Timage.Create(Self); // вот эта картинка дополнительная
image1.OnClick := MyOnClick;
image1.Left:=self.Left+10;
image1.Top:=self.Top+10;
image1.Height:=self.Height-20;
image1.Width:=self.Width-20;
image1.Stretch:=true;
image1.Proportional:=true;
image1.Transparent:=true;
image1.Visible:=true;
self.Visible:=true;
image1.Picture.LoadFromFile('in.bmp');
b:=true;
end;

procedure timage1.MyOnClick(Sender: TObject);
begin
if b = true then
begin
self.Canvas.Brush.Color := clBlack;
image1.Show; //вот здесь ее по идее должно показывать...
end
else
begin
self.Canvas.Brush.Color := clred;
image1.Show;
end;
self.Canvas.FillRect(Canvas.ClipRect);
b:=not b;
end;

end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
sheka   Компонент   17.11.2009 18:43
volvo   Свойство Owner тебе поможет.   17.11.2009 18:50
sheka   Свойство Owner тебе поможет. owner.visible?   17.11.2009 18:58
volvo   На самом деле лучше бы так сделать: type TCompon...   17.11.2009 19:23
sheka   это я с сайта списывал. Насколько я понял, то чт...   17.11.2009 20:55
volvo   Нет, мне не удалось добиться того, что ты хочешь (...   17.11.2009 23:35
sheka   Выложите пожалуйста свой компонент. не могу понять...   18.11.2009 1:36
volvo   Вот сам компонент: В основном приложении на форм...   18.11.2009 2:47
sheka   Спасибо, уже кое-что стало понятно,но еще вопросы ...   18.11.2009 19:10
volvo   :wacko: Чего кто там не видит? Ты скриншоты показ...   18.11.2009 19:43
sheka   Вот смотрите: если на форме стоит только один Edit...   18.11.2009 21:58
volvo   Ну, так в чем проблема? Проверяй, что компонент ле...   18.11.2009 22:31
sheka   Ну, так в чем проблема? Вы меня не правильно пон...   19.11.2009 0:26
sheka   Я сделал то что хотел!!! procedure TMy...   19.11.2009 2:19
volvo   Нет, по-моему мы друг друга не понимаем... Какая п...   19.11.2009 2:27
sheka   Бррр... Так ты хочешь, чтобы твой метод Change был...   19.11.2009 18:34
volvo   Хелп читал? (Вот отсюда) А ты вызываешь напрямую...   19.11.2009 19:57
sheka   Я ничего не описывал. Не предупредила.   19.11.2009 20:36
sheka   Создается компонент, картинка. при нажатии на нее ...   11.12.2009 0:26
volvo   Ты забыл добавить Parent-а создаваемой картинке. А...   11.12.2009 3:25
sheka   Покажите пожалуйста фрагмент кода, где добавляется...   15.12.2009 21:32
volvo   Вот так, например: unit Component2; interface us...   15.12.2009 22:29


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 10.07.2025 22:11
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"