Форум: "Начинающим";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
ВнизПишу компонент. Как послать месадж форме на которой он будет лежа Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c