![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Создаю свой компонент
Код:
TRadioButtonCorrect=class(TRadioButton)
private
FBitmap:TBitmap;
FLeftMove:Integer;
FTopMove:Integer;
procedure WMPaint(var Message: TWMPaint);message WM_PAINT;
procedure AfterCreate(var Msg:TMessage);message WM_User+1001;
public
constructor Create(AOwner:TComponent);Override;
destructor Destroy;Override;
end;переопределяю конструктор так Код:
constructor TRadioButtonCorrect.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
// Parent:=TWinControl(Owner);
FLeftMove:=16;
FTopMove:=2;
PostMessage(Handle,WM_User+1001,TForm(AOwner).Color,0);
end;если ставлю Parent:=TWinControl(Owner); то получаю привязку компонента к форме, если вообще без этой строчки то получаю ошибку о том что нет родителя у компонента Мне нужно чтоб Parent был GroupBox или Panel или ещё что, то на что я кинул в дизайнере этот компонент Подскажите как это сделать |
|
#2
|
||||
|
||||
|
Цитата:
|
|
#3
|
||||
|
||||
|
А может дело в этой строке:
Код:
PostMessage(Handle,WM_User+1001,TForm(AOwner).Color,0); Код:
TForm(AOwner) Код:
(aOwner as TControl).Сolor |
|
#4
|
||||
|
||||
|
проблема с Handle в PostMessage
Код:
with TRadioButtonCorrect.CreateParented(Panel1.Handle) do
begin
Parent:=Panel1;
Caption:='TRadioButtonCorrect';
end;Последний раз редактировалось NumLock, 27.08.2012 в 15:18. |
|
#5
|
||||
|
||||
|
Цитата:
да похоже дело было в пост мессадж, и да TForm(AOwner) не корректно, но TControl(AOwner).Color не работает потому что свойство protected (delphi xe2), решил через GetPropValue(AOwner,'Color') проблема решена всем спасибо)) P.S. В delphi xe2 (может и в других старше D7) есть такая проблема у TRadioButton в ObjectInspector нельзя поменять Font.Color, т.е. поменять можно но цвет всё равно задаст RunTime Themes, так вот это было решение с переопределением WMPain. Если кому интересно могу выложить код. Последний раз редактировалось Lost_Fish, 28.08.2012 в 07:15. |