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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.046 c
1-1082602945
ORMADA
2004-04-22 07:02
2004.04.11
TCustomPanel


1-1082113527
Тимохов
2004-04-16 15:05
2004.04.11
TTread + Terminate.


3-1081505156
Сапёр
2004-04-09 14:05
2004.04.11
Calculated in Table


8-1072194231
Kein
2003-12-23 18:43
2004.04.11
Описание графических форматов


3-1079457617
incm
2004-03-16 20:20
2004.04.11
Использование фильтров





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