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

Вниз

RegisterComponents   Найти похожие ветки 

 
Noname   (2004-01-13 13:27) [0]

Здравствуйте.

Не подскажете как зарегистрировать невизуальный компонент (типа MainMenu, ActionList, ...)? Пробовал RegisterComponents но как то не так получается :(

Спасибо.


 
Skier ©   (2004-01-13 13:30) [1]


> Пробовал RegisterComponents но как то не так получается
> :(

Подробнее !


 
Noname   (2004-01-13 13:46) [2]


> Skier © (13.01.04 13:30) [1]

компонент добавляется в палитру, но при помещении его на форму отображается просто прямоугольник пунктиром (прозрачный). Причем появляются свойства ширины и высоты (и другие), а они мне не нужны.

type
THintDesigner = class(THintWindow)
private
FGradColorBegin: TColor;
FGradColorEnd: TColor;
FFrameColor: TColor;
FGradDirect: TGradDirect;
FAngleVert: Integer;
FAngleHorz: Integer;
procedure SetGradColorBegin(const Value: TColor);
procedure SetGradColorEnd(const Value: TColor);
procedure SetFrameColor(const Value: TColor);
procedure SetGradDirect(const Value: TGradDirect);
procedure SetAngelVert(const Value: Integer);
procedure SetAngelHorz(const Value: Integer);
{ Private declarations }
protected
procedure Paint; override;
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
{ Public declarations }
published
property GradColorBegin: TColor read FGradColorBegin write SetGradColorBegin;
property GradColorEnd: TColor read FGradColorEnd write SetGradColorEnd;
property FrameColor: TColor read FFrameColor write SetFrameColor;
property GradDirect: TGradDirect read FGradDirect write SetGradDirect;
property AngleVert: Integer read FAngleVert write SetAngelVert;
property AngleHorz: Integer read FAngleHorz write SetAngelHorz;
{ Published declarations }
end;

procedure Register;
begin
RegisterComponents("Standard", [THintDesigner]);
end;


и как нудно делать чтобы у него в ObjectInsoector были только свойства указанные в Published?


 
Skier ©   (2004-01-13 13:51) [3]

>Noname (13.01.04 13:46) [2]


> отображается просто прямоугольник пунктиром (прозрачный).


перекрывай CreateParams и WMNCHitTest


> появляются свойства ширины и высоты (и другие), а они мне
> не нужны.


Для ненужных свойств регистрируй nil-овый редактор свойства
(см. RegisterPropertyEditor)


 
Noname   (2004-01-13 13:53) [4]


> Skier © (13.01.04 13:51) [3]

спасибо за помощь попробую


 
Юрий Зотов ©   (2004-01-13 14:02) [5]

> Noname (13.01.04 13:46) [2]

> при помещении его на форму отображается просто прямоугольник
> пунктиром (прозрачный).

Вероятно, что Вы написали в Paint - то и происходит.

> Причем появляются свойства ширины и
> высоты (и другие), а они мне не нужны.

А Вы хотели, чтобы наследник THintWindow САМ вел себя как-то иначе?


 
Skier ©   (2004-01-13 14:07) [6]


> Noname (13.01.04 13:53) [4]

Да, Юрий прав : ещё на метод Paint обрати внимание


 
Noname   (2004-01-13 14:35) [7]

да в том и дело, что пробовал и без Paint вообще.
Вот например MainMenu положишь на форму получается квадратик с изображением, а я свой кладу пустое место :( в рамочке.


 
Юрий Зотов ©   (2004-01-13 14:38) [8]

> Noname (13.01.04 14:35) [7]

> Вот например MainMenu положишь на форму получается квадратик с
> изображением
От чего отнаследован TMainMenu?

> а я свой кладу пустое место :( в рамочке.
А от чего отнаследован ВАШ компонент?

Разницу чувствуете? Ваш компонент - ВИЗУАЛЬНЫЙ. Вот поэтому он и рисуется на форме.


 
Noname   (2004-01-13 14:40) [9]


> Юрий Зотов © (13.01.04 14:38) [8]

спасибо - теперь чувствую


 
Skier ©   (2004-01-13 14:40) [10]


> Noname (13.01.04 14:35) [7]

Всех запутал ! Чего хочешь сделать-то ?


 
Noname   (2004-01-13 14:42) [11]

компонент который хинт будет рисовать по своему


 
Skier ©   (2004-01-13 14:46) [12]


> компонент который хинт будет рисовать по своему

Компонент должен быть невизуальный.
И служить токмо лишь для настройки свойств хинта, который
будет "вмонтирован" внутрь твоего невизуальныого компонента
(в общем компонент по принципу, TOpenDialog, например...)


 
Noname   (2004-01-13 14:48) [13]

ну да собственно это и хочу сделать.
впринципе все написано для изменения хинта, вот только как это в компонент оформить пока толком не знаю


 
Skier ©   (2004-01-13 14:51) [14]

если уже есть хороший код, то оформить его в компонент совсем не сложно...


 
Noname   (2004-01-13 14:55) [15]

проблемы то возникли потому что первый раз пытаюсь компонент сделать.



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

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

Наверх




Память: 0.5 MB
Время: 0.041 c
1-72821
AllDontFire
2004-01-09 17:55
2004.01.23
Можно ли создать, заранее не описанную переменную в RunTime?


11-72699
acp
2003-05-05 23:30
2004.01.23
TStringList (VCL) & PStrList


3-72672
rel_
2003-12-18 12:45
2004.01.23
Запрос по дате


4-72980
Санёк
2003-11-17 18:13
2004.01.23
Как использовать wm_spoolerstatus?


8-72847
Jonson
2003-09-20 10:03
2004.01.23
OpenGL в Delphi