Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];

Вниз

Parent у главной формы   Найти похожие ветки 

 
Chlavik   (2003-09-26 16:55) [0]

Почему у всех форм Parent это TApplication а вот у главной нет ...??
почему то функция GetParent не находит parent у главной формы...


 
KSergey   (2003-09-26 16:57) [1]

Она его находит, но это - DeskTop
А у остальных - точно TApplication?


 
don-do   (2003-09-26 16:59) [2]

Вообще-то Parent не должен здесь применяться, это относиться лишь к TControl, которые на чем то должны лежать.


 
Юрий Федоров   (2003-09-26 17:01) [3]

Не может быть
Parent: TWinControl, TApplication не является TWinControl"ом


 
Chlavik   (2003-09-26 17:16) [4]

У меня вот так
procedure TfmMain.About2Click(Sender: TObject);
var h:Thandle;
var fmAbout: TfmAbout;
s:array [0..20] of Char; // Имя проги (Application Title у меня 20 символов + нулевой
begin
h:=FindWindow("TfmAbout",nil);
While h<>0 do // не хочется что бы оно нашло окно такого же класа у другой проги
begin
GetWindowText(GetParent(h),s,21);
if s=AppName then begin ShowWindow(h,SW_SHOWNA); exit;end;
h:=FindWindowEx(0,h,"TfmAbout",nil);
end;
Application.CreateForm(TfmAbout, fmAbout);
fmAbout.ShowModal;
fmAbout.Free;
end;


Так вот это код пашет!!!!!! просто у меня можно вызвать About через PopupMenu иконки трэя. А потом когда разварачиваеш прога то получается бред: старое окно About остаётся как бы не в модальным и создаётся новый модальный About ... И вот эту проблему я решаю так, если мона проще то подскажите, но это не важною... Гланое что почемуто у окна About находит а у главной нет.. Если Вместо GetWindowText написать GetClassName то в результе будет Tapplcation а вот для главного окна такой код не работает ...


 
Юрий Федоров   (2003-09-26 17:20) [5]

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


 
Chlavik   (2003-09-26 19:13) [6]

Ok

Но всё равно на своей первоначальный вопрос не получил ответ....


 
Chlavik   (2003-09-26 19:32) [7]

Или как бы сделать что бы он Application был парент у главной формы... Только что бы окно потом показывалось :)


 
Anatoly Podgoretsky   (2003-09-26 19:44) [8]

Ну тебе уже сказали, что Application не может быть парентом ни у одной формы.


 
Chlavik   (2003-09-27 02:01) [9]

Ну я верю тогда как обьснить работающий мой код, почему так???


 
Chlavik   (2003-09-27 02:05) [10]

А лучше скачайте http://www.greatis.com/wdsetup.exe (Advanced Windows Analyser) и посмотрите что она выдаёт!!!! в закладке Parents. Кстати полезная прога, кто не видел.



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

Форум: "Основная";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
1-27495
KIR
2003-09-26 12:25
2003.10.09
Можно ли как-то определить, что открыто окно с FastReport ом


8-27617
Sergey
2003-05-23 00:31
2003.10.09
Анимация


14-27682
Romkin
2003-09-16 11:54
2003.10.09
Встреча 08.08


3-27379
LinOS
2003-09-18 09:19
2003.10.09
DB - SQLDataSet - DataSetProvider-ClientDataSet


1-27577
sagchat
2003-09-29 14:06
2003.10.09
Как мне показывать случайную строку из memo или из файла





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский