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

Вниз

Пишу компонент. Как послать месадж форме на которой он будет лежа   Найти похожие ветки 

 
qp   (2006-10-27 13:20) [0]

День добрый!
Пишу компонент. Подскажите как я могу послать месадж форме на которой он будет лежать. Как получить хендл формы?


 
unknown ©   (2006-10-27 13:26) [1]

GetParentForm(MyControl)


 
qp   (2006-10-27 13:37) [2]

Не допонял
MyControl - это что будет
в коде своей компоненты я не знаю какие котролы будут еще лежать на форме...


 
unknown ©   (2006-10-27 13:39) [3]


> qp   (27.10.06 13:37) [2]
>
> Не допонял
> MyControl - это что будет

Это твой компонент.


 
Джо ©   (2006-10-27 13:41) [4]

> MyControl - это что будет

Это будет Self.


 
qp   (2006-10-27 13:42) [5]

ааа
ясн
ща попробую
пасиба


 
Сергей М. ©   (2006-10-27 13:43) [6]


> форме на которой он будет лежать.


Компонент не обязан где-то там "лежать".


 
qp   (2006-10-27 13:52) [7]

т.е получается еще нужно привести тип? к TControl
GetParentForm(TControl(Self))
верно?


 
qp   (2006-10-27 13:54) [8]

ну да не обязан.
в даном случае мне так нужно
клас компонента наследник от TComponent


 
Сергей М. ©   (2006-10-27 14:13) [9]


> клас компонента наследник от TComponent
>


Компонент и не может быть наследником (прямым или непрямым) иначе чем класса TComponent


 
qp   (2006-10-27 14:14) [10]

мне из компонента необходимо временно запретить перерисовку формы
вот для этого и нужен дескриптор формы


 
qp   (2006-10-27 14:24) [11]

frm := GetParentForm(TControl(Self)); - ворачивает нил


 
qp   (2006-10-27 14:38) [12]

TComponent же выше в иерархии TControl
приведение неравельное
как быть?


 
Mirage   (2006-10-27 14:51) [13]

>[12] qp 27-Oct-2006, 14:38
у TComponent нет parent"а. у него только Owner. потому что TComponent -- не визуальный. "компрене ву?" (ц)


 
unknown ©   (2006-10-27 14:52) [14]


> qp   (27.10.06 14:38) [12]
> как быть?


Можно так :
procedure TForm1.Button1Click(Sender: TObject);
var
 Comp:TComponent;
begin
 Comp:=MyComponent.Owner;
 while (Comp<>nil) and not (Comp is TForm) do
   Comp:=Comp.Owner;
 if Comp is TForm then
   TForm(Comp).Caption:="afgbasg";
end;


 
qp   (2006-10-27 15:06) [15]

спасибо



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

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

Наверх




Память: 0.49 MB
Время: 0.056 c
2-1161697308
Дева
2006-10-24 17:41
2006.11.12
Перемещение в TDBGrid


2-1161612916
evgenij_
2006-10-23 18:15
2006.11.12
tab.Filter


2-1161867448
Sholah_Weras
2006-10-26 16:57
2006.11.12
Битовые переменные


2-1161690660
RomanH
2006-10-24 15:51
2006.11.12
Сортировка IBDataSet а


2-1161781612
просто_человек
2006-10-25 17:06
2006.11.12
занесение значения ячейки до е изменения(как-то так=)))