Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.48 MB
Время: 0.055 c
15-1161772006
Tilli-Filli
2006-10-25 14:26
2006.11.12
Система город....


15-1161978224
Sergey Masloff
2006-10-27 23:43
2006.11.12
Вопрос. Не мешает ли руководителю умение программировать.


3-1158224830
vodvorezlaya
2006-09-14 13:07
2006.11.12
Подскажите с компонентом TDBEdit и TDBComboBox


15-1161879231
Витян
2006-10-26 20:13
2006.11.12
Подскажите алгоритм, который подошел бы для данной задачи на граф


15-1161457392
Витян
2006-10-21 23:03
2006.11.12
Зацените, пожалуйста! :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский