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

Вниз

FormActivate   Найти похожие ветки 

 
Георгий   (2008-03-07 06:40) [0]

Всем привет. Помогите найти ответы на 2 вопроса.

1) У меня в программе 2 формы, в которой первая форма вызывает вторую. В событии OnActivate у второй формы, у меня существует некий код. После его выполнения форма-2 должна закрыться.

Пример:

procedure TForm2.FormActivate(Sender: TObject);
begin
 ShowMessage("FormActivate");
 Close;
end;

В данном случае после выполнения ShowMessage() форма не хочет закрываться. Подскажите, что делать?

2) Если установить для формы-2: Form2.FormStyle := fsStayOnTop;
Форма все равно не поверх всех окон т.к эта форма не главня думаю. Как это можно реализовать, что бы форма была по верх всех окон???

Надеюсь, что смог объяснить то что мне надо и надеюсь на полезные ответы :)


 
Palladin ©   (2008-03-07 08:34) [1]

1.
а с чего это она будет закрываться? пока пользователь не нажмет на ShowMessage OK обработка метода OnActivate не продолжится. вариант: сделать свою форму для сообщений и показывать ее, примерно так:

procedure TForm2.FormActivate(Sender: TObject);
begin
If Not m_isAct Then
 Begin
  m_isAct:=True; // поле класса формы, флаг о том, что форма уже в режиме активации, в OnCreate должен быть выставлен в False
  With TForm3.Create(Application) Do
   Begin
    Label1.Caption:="1234567890";
    Show;
   End;
  Release;
 End;
end;


нужно так же не забыть в TForm3.OnClose сказать ему что Action:=caFree;

2.

> Форма все равно не поверх всех окон т.к эта форма не главня
> думаю.

глупость думаешь, думай лучше что у каких то других окон тоже установленно fsStayOnTop


 
Георгий   (2008-03-07 11:23) [2]


> глупость думаешь, думай лучше что у каких то других окон
> тоже установленно fsStayOnTop


Нет, у меня всего 2 формы. У первой формы "fsNormal"  у второй "fsStayOnTop" Вторая форма все равно не поверх всех окон. :(


 
easy ©   (2008-03-07 11:41) [3]

http://dfc.com.ru/download.php?d=formactivate


 
Георгий   (2008-03-07 12:16) [4]


> http://dfc.com.ru/download.php?d=formactivate


procedure TForm2.CreateParams(var Params: TCreateParams);
begin
 inherited;
 Params.WndParent := GetDesktopWindow();
end;


Так вот в чем дело. Спасибо огромное.


 
Leonid Troyanovsky ©   (2008-03-07 12:26) [5]


> Георгий   (07.03.08 11:23) [2]

> Нет, у меня всего 2 формы. У первой формы "fsNormal"  у
> второй "fsStayOnTop" Вторая форма все равно не поверх всех
> окон. :(

http://www.rsdn.ru/Forum/Message.aspx?mid=466741&only=1

--
Regards, LVT.



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

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

Наверх




Память: 0.45 MB
Время: 0.005 c
2-1204823340
JanMihail
2008-03-06 20:09
2008.04.06
Как вытащить текст из компонента TTextEditor


2-1205315387
Ega23
2008-03-12 12:49
2008.04.06
Нахождение первого символа из множества в строке


2-1205035977
Adios
2008-03-09 07:12
2008.04.06
как узнать имя файла шривта по названию шрифта


2-1205325846
Fredy314
2008-03-12 15:44
2008.04.06
как из crc32( 123 ) и crc32( 456 ) сделать crc32( 123456)


15-1203444725
VAD*Anti Gopn!k
2008-02-19 21:12
2008.04.06
WinXP Game Edition и драйверы





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