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

Вниз

Подскажите, пожалуйста, про диалоговое окно   Найти похожие ветки 

 
kreyl   (2005-09-30 18:45) [0]

Borland Delphi 2005
Есть простой проект VCL forms Application-Win32. В проекте, собственно, есть главная форма (form1). На форме - кнопка, по нажатию на которую должна вывестись вспомогательная форма (form2), в каковой получаются данные от пользователя. По нажатию кнопки ОК на второй форме оная должна закрыться, а введенные данные должны быть переданы в первую форму.

То есть, классический диалог.

В книжке "Delphi8 для .NET" это описано вполне подробно, однако пример не работает для не .NET. Там написано, в частности, в процедуре кнопки вызова второй формы:
var
 dr: System.Windows.Forms.DialogResult;
begin
 InputBox:= WinForm2.TwinForm.Create; // у меня тут потребовалось .Create(Application)
 dr:=InputBox.ShowDialog(); // Это, как пишут, должно выводить окно как диалог. Однако метода ShowDialog у меня, видимо, нет.
 if (dr=System.Windows.Forms.DialogResult.OK) then
   // тут, собственно, обработка данных.


 
SMATMP ©   (2005-09-30 19:38) [1]

Может быть я не понимаю сути вопроса...
Чем не устраивают Form.Show и Form.Hide?

Скажем на Form1 есть Button1, а на Form2 - тоже Button1. По умолчанию Form2.Visible должна быть установлена в False (второй формы не видно). При нажатии на Button1 формы Form1 (TForm1.Button1Click) происходит Form2.Show. При нажатии же на Button1 формы Form2 (TForm2.Button1Click) происходит множество присвоений пользовательских значений и в конце - Form2.Hide. И все. Предварительно, правда, необходимо зарегестрировать Form2 в Form1 (после implementation, скажем):
...

implementation

uses Unit2;

{$R *.DFM}

...

Предполагается, что Form2 описывает модуль с именем Unit2. Возможно и другое - в этом случае необходимо откорректировать прогу.
Всех благ.


 
Anatoly Podgoretsky ©   (2005-09-30 19:48) [2]

ShowModal


 
AlexWlad ©   (2005-09-30 19:51) [3]

Если пишешь Win32 приложение - зачем пользовать .Netные фишки.

if (InputBox.ShowModal=mrOK) then ...

и все дела...


 
kreyl   (2005-09-30 20:09) [4]

Большое спасибо! Всё очень кстати.



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

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

Наверх




Память: 0.45 MB
Время: 0.037 c
1-1127987845
Иванов__
2005-09-29 13:57
2005.10.23
Как запихать прогу в DLL


1-1128013964
userrrrr
2005-09-29 21:12
2005.10.23
как получит ин-цию о процессоре?


1-1128025070
lesee
2005-09-30 00:17
2005.10.23
добавить комментарий в ini


2-1127749201
Shader
2005-09-26 19:40
2005.10.23
Opengl - прозрачный фон и вывод текста и другое


1-1127978088
Friend
2005-09-29 11:14
2005.10.23
res файл





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