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

Вниз

Открытие доп. окна после запуска приложения...   Найти похожие ветки 

 
Rusty ©   (2004-03-26 15:28) [0]

Уважаемые, подскажите!
Мне необходимо, чтобы после запуска приложения и открытия основной формы открывалась дополнительная форма, причем модально. Как это правильно организовать? Пытался с помощью дополнительного потока, но не смог добиться того, чтобы форма открывалась модально.


 
TButton ©   (2004-03-26 15:32) [1]

=) от до чего люди заморочены на потоках =)
ShowModal не пробовал?


 
Rusty ©   (2004-03-26 15:37) [2]

--> TButton ©
Задам, может быть, бестолковый вопрос, но где ты этот метод пропишешь? А если я хочу еще и задержку сделать перед открытием этой доп. формы?


 
Fay ©   (2004-03-26 15:40) [3]

Бред какой-то. 8(
При открытии MainForm открой ту форму модально. Сунь на неё таймер. После задержки (некоторой) убей модальную форму. Сходи - покури. Повтори.


 
Rusty ©   (2004-03-26 15:45) [4]

--> Fay ©
Основная форма не откроется до тех пор, пока я не закрою доп. форму...


 
Fay ©   (2004-03-26 15:48) [5]

Так должно быть, или ты так по-твоему будет работать то [3]?


 
TButton ©   (2004-03-26 15:49) [6]

>Основная форма не откроется до тех пор, пока я не закрою доп.
>форму...

splashscreen тебе нужен что ли? так FAQ вам в руки. а в двух словах по памяти, это открываешь .dpr и пишешь там (далее - вольный перевод с Дэльфи на Русский)

 ...
 а ну-ка, *&^%%%;*(?;№, создавай мне форму!;
 ...

а в онШоу или Активейт главной формы убиваешь модальную.


 
Fay ©   (2004-03-26 15:51) [7]

>> а ну-ка, *&^%%%;*(?;№, создавай мне форму!;
Назовём это псевдокодом 8)


 
Rusty ©   (2004-03-26 15:58) [8]

--> TButton ©
SplashForm я умею создавать, и не только, многому могу и тебя научить... Кроме того, читать FAQ и Help я умею... Ты в суть проблемы-то вникни!

--> Fay ©
Ignored


 
Fay ©   (2004-03-26 16:02) [9]

Я так понял суть проблемы : надо модально открыть форму ПОСЛЕ (НЕ ДО!!!) запуска программы. Да. В FAQ такого может и не оказаться.


 
Digitman ©   (2004-03-26 16:04) [10]


> Rusty


ты так и претендуешь на LMD

например, в событии формы OnShow делай своей форме Postmessage()
в обработчике эе полученного сообщения создавай нужную форму и делай ей ShowModal


 
Rusty ©   (2004-03-26 16:04) [11]

-->Fay ©
... ПОСЛЕ запуска программы И ОТКРЫТИЯ ОСНОВНОЙ ФОРМЫ!


 
Rusty ©   (2004-03-26 16:11) [12]

-->Digitman

 --> ты так и претендуешь на LMD
       
  Это не к чему..., абсолютно!

 -->в событии формы OnShow делай своей форме Postmessage()
в обработчике эе полученного сообщения создавай нужную форму и делай ей ShowModal

  А вот это ближе к телу... Нельзя ли немного подробнее. В большей степени меня интересует PostMessage. Дополнительное окно в проекте не создано. Я его создаю непосредственно до открытия...


 
Digitman ©   (2004-03-26 16:14) [13]


> В большей степени меня интересует PostMessage


что же тебя интересует ? справку-то почитал, надеюсь ?


 
Rusty ©   (2004-03-26 16:18) [14]

-->Digitman
Очень остроумно... Ладно, с PostMessage разберусь...

Что из себя представляет обработчик полученного сообщения?


 
Digitman ©   (2004-03-26 16:22) [15]

procedure MsgMyMessage(var Message: TMessage); message WM_MYMESSAGE;
begin
 with TMyModalForm.Create(nil) do
 try
   ShowModal;
 finally
   Free;
 end;
end;


 
Digitman ©   (2004-03-26 16:22) [16]

procedure TMyMainForm.MsgMyMessage(var Message: TMessage); message WM_MYMESSAGE;
begin
 with TMyModalForm.Create(nil) do
 try
   ShowModal;
 finally
   Free;
 end;
end;


 
Rusty ©   (2004-03-26 16:26) [17]

-->Digitman

Ну вот, это совсем уже другое дело... Блин, все нужно вытягивать... :)
Digitman, СПАСИБО огромное!


 
TUser ©   (2004-03-26 16:32) [18]


> Что из себя представляет обработчик полученного сообщения?

Он так работает - ... ; message WM_TRULALA;
и т.д.

PS. На тему "многому могу и тебя научить" - смотрим твой хоумпаг.
В совершенстве владею: Windows 9x/Me/NT/2000/XP, Office, СУБД; и языками программирования: Delphi, FoxPro, HTML.

PPS. Извини, не люблю я налоговых инспекторов.


 
Digitman ©   (2004-03-26 16:35) [19]


> Блин, все нужно вытягивать


Блин или не блин, а вытягивать всем гуртом из тебя по крупицам  инф-цию о том, насколько ты свободно ориентируешься в последовательности событий и оконных сообщений, касаемых формы (да и прочих оконных VCL-контролов как таковых) - тоже дело, согласись, неблагодарное


 
Rusty ©   (2004-03-26 17:02) [20]

-->TUser
 "В совершенстве" относится к первой части предложения, разделенные точкой с запятой... Это - грамматика, которую надо в школе учить...

PS. Да, кстати, по поводу PPS: это твои проблемы и не нужно их обобщать... Я, к примеру, не люблю умников, которые суют свой нос туда, куда не надо! Тоже извини!


 
Digitman ©   (2004-03-26 17:13) [21]


> Rusty


я не намерен здесь быть секундантом, но расхождение публичных (разве homepage - не публичное ?), явно самоуверенных  заявлений о "знании в совершенстве" чего-то там и демонстрации реального незнания азов - это и есть позиция отнюдь не "чайника", но "ламера"

Тоже извини.


 
TButton ©   (2004-03-26 17:25) [22]

>Блин, все нужно вытягивать
ну, блин, нужно изъяснять по-людски... а то тебя раз пять неправильно поняли, пока разобрались что ты на самом деле хотел...


 
Digitman ©   (2004-03-26 17:28) [23]


> А если я хочу еще и задержку сделать перед открытием этой
> доп. формы?


сейчас еще и "бодягу" про использование таймера разводить будем
а говоришь - "в совершенстве"


 
Fay ©   (2004-03-26 17:32) [24]

"в совершенстве" - это откуда?!


 
Digitman ©   (2004-03-26 17:34) [25]


> Fay ©   (26.03.04 17:32) [24]


см. [18]

оттуда ноги растут


 
Rusty ©   (2004-03-26 17:54) [26]

-->Digitman

->а говоришь - "в совершенстве"
 Я - вообще ничего не говорю.

А с проблемой я разобрался, с Вашей помощью. И таймер применил уже... Я, кстати, думал о том, что можно использовать PostMessage, но забыл о том, что можно заставить приложение послать сообщение самому себе.


 
Fay ©   (2004-03-26 18:18) [27]

Ignored


 
Romkin ©   (2004-03-26 21:34) [28]

Все не читал, так что не в курсах... Делаешь в главной форме метод, открывающий твою модальную (логин/пароль что-ли?). Объявляешь константу-мессадж, типа FN_DOMYFORM = WM_USER + $1489;
ф форме обработчик, типа procedure .... ; message FN_DOMYFORM;
В нем метод и вызывай :)
А теперь - финт ушами, на OnShow этой формы - PostMessage(Handle, FN_DOMYFORM, 0,0); Все.
Как говорится, мессага отправлена, как только, так сразу :)))



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

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

Наверх




Память: 0.53 MB
Время: 0.039 c
1-1079708278
TransparentGhost
2004-03-19 17:57
2004.04.11
Удаление запущенного ЕХЕ ???


14-1079127758
TButton
2004-03-13 00:42
2004.04.11
Black and White


8-1076386138
scorpi
2004-02-10 07:08
2004.04.11
OpenGL


1-1079952775
SMT
2004-03-22 13:52
2004.04.11
Исходники Quick report: файл qrprev.pas


4-1079640613
twink
2004-03-18 23:10
2004.04.11
MouseClick