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

Вниз

Сделать кучу форм   Найти похожие ветки 

 
Vinum   (2008-03-18 20:39) [0]

Здравствуйте. На форме кнопка. Подскажите пожалуйста, как мне сделать так, чтоб по нажатию этой кнопки появлялась точно такая же форма с такой же кнопкой, чтоб при нажатии этой кнопки появилась опять еще одна такая же форма с кнопкой....и чтоб все формы были рабочие и их можно было закрыть в любой момент


 
Compiler ©   (2008-03-18 22:09) [1]

На вскидку
Кинуть на форму Applet и

var
 CloneForm:PForm1;
begin
NewForm1(CloneForm,Applet);
CloneForm.Form.Show;
end;


Работоспособность не гарантирую, не проверял :)


 
Vinum   (2008-03-18 22:16) [2]

Работает прекрасно :) только на таскбаре не показываются новые окна и если закрываешь самую первую форму, то закрываются все остальные.Это лечится? :)


 
Compiler ©   (2008-03-18 22:22) [3]

> только на таскбаре не показываются

Заменить Applet на nil?

> закрываешь самую первую форму, то закрываются все

Первая-главная.

> Это лечится

Наверное нет.

P.S. И вообще, правильно ли это?


 
Vinum   (2008-03-18 22:32) [4]

>Заменить Applet на nil?
спасибо, заработало.
>Наверное нет.
очень жаль.
>И вообще, правильно ли это?
не понял :)


 
Compiler ©   (2008-03-18 23:46) [5]

> >И вообще, правильно ли это?

Формы без родителя (Aparent=nil), Free для форм не вызывается. Наверное будет утечка памяти


 
Vinum   (2008-03-20 16:00) [6]

а вот такое решение правильное?
shellexecute(form.Handle,nil,"forms.exe",nil,nil,sw_normal)


 
Compiler ©   (2008-03-20 22:34) [7]

> Vinum   (20.03.08 16:00) [6]

Это уже будет куча запущенных экземпляров приложения


 
RusSun ©   (2009-09-13 13:28) [8]

program Project1;

uses kol;
//{$DEFINE SMALLEST_CODE}
{$R *.res}
var
form,form2,Button1,CheckBox1:PControl;

//область для процедур
procedure clickbutton1(Sender:PControl; var mouse:TMouseEventData);
begin
if not Assigned( Form2 ) then
   NewForm(  Applet ,"Form2");
 Form2.Show;
end;
procedure Close_form2(DummySelf,Sender: PControl; var Accept: Boolean);
begin
 if CheckBox1.Checked then
 begin
   Accept := FALSE;
   Form2.Hide;button1.Focused:=true;
 end;
 if Assigned( Form2 ) then begin
 accept:=false;
 form2.Hide;button1.Focused:=true;
                   end else
                   accept:=true;
end;
Begin
form:=NewForm(Applet,"Form1").SetPosition( 246, 107 ).SetClientSize( 205, 138 );
Button1 := NewButton( form, "Form2.Show" ).SetPosition( 32, 64 ).SetSize( 137, 0 );

Button1.OnClick:=TonEvent(MakeMethod(nil,@clickbutton1));

Form2:= NewForm(  Applet,"Form2").SetPosition( 245, 272 ).SetClientSize( 206, 152 );
CheckBox1 := NewCheckBox( Form2, "Just Hide, not Close" ).SetPosition( 16, 16 ).SetSize( 177, 0 );
form2.OnClose:=TOnEventAccept(MakeMethod(nil,@Close_form2));
Run(form);
end.



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

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

Наверх





Память: 0.46 MB
Время: 0.004 c
15-1390920271
ухты
2014-01-28 18:44
2014.08.24
Когда выборы


15-1390656072
Jimmy
2014-01-25 17:21
2014.08.24
Карточные игры


2-1380528742
12345
2013-09-30 12:12
2014.08.24
не вызывается событие OnBeforePost


2-1380620017
artemka2008
2013-10-01 13:33
2014.08.24
advtrackbar


11-1251010071
Dy1
2009-08-23 10:47
2014.08.24
базы данных





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