Главная страница
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.47 MB
Время: 0.044 c
2-1127975965
newer
2005-09-29 10:39
2005.10.23
Delphi


3-1126727890
partizan
2005-09-14 23:58
2005.10.23
как логинтся под админом в IB ?


1-1128069311
IfBeginThenEnd
2005-09-30 12:35
2005.10.23
Класс контейнера


14-1128167471
vrem
2005-10-01 15:51
2005.10.23
Увеличение информативности постов


14-1128235140
Мазут Береговой
2005-10-02 10:39
2005.10.23
Старый добрый "Крокодил"