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

Вниз

Два окна   Найти похожие ветки 

 
Alex-21   (2003-07-28 21:30) [0]

Создаются два окна последовательно с помощью этой процедуры:
TForm2.CreateParams();
begin
inherited CreateParams(Params);
Params.WndParent:= GetDesktopWindow;
end;

И в этом окне установлена компонента Label1. Мне нужно узнать, чему равен Label1.Caption первого созданного окна. Ведь мы узнаем только значение второго окна, созданного вслед за первым. Пусть первое окно активное. И как можно узнать значение Label1 первого окна?


 
default   (2003-07-28 21:55) [1]

пиши по-русски свой вопрос


 
Alex-21   (2003-07-28 22:07) [2]

Сначала создается первое окно с помощью этой процедуры, потом через какое-то время второе окно. И тут ссылка будет не на первое окно, а на последнее, то есть второе. А надо узнать Label1.Caption первого окна.


 
jack128   (2003-07-28 23:26) [3]

var
Form1, Form2 : Tform2;
begin
try
Form1 := Tform2.Create(nil);
try
Form2 := Tform2.Create(nil);
ShowMessage(Form1.Label1.Caption);
finally
Form2.Free;
end;
finally
Form1.Free;
end;
end;

Учись излогать свои мысли, а то по нынишним временам с телепатами совсем плохо...


 
default   (2003-07-28 23:47) [4]

CreateParams вообще не создаёт окно...
см. Help


 
Alex-21   (2003-07-29 16:09) [5]

Что-то мне не нравится. Сначала, пусть не создается, но появляется одно окно, используя данную процедуру, потом следующее окно, тоже с помощью этой процедуры через какой-то промежуток времени. И хотелось бы получить после этого Label1.Caption, но получаю Label1.Caption второго окна. А надо первого окна. Что непонятно?

> jack128 © (28.07.03 23:26)
Это способ мне не подходит. Неизвестно ведь сколько окон будет. А вдруг три нужно.


 
default   (2003-07-29 16:21) [6]

напиши свой код будет куда легче


 
Alex-21   (2003-07-29 17:17) [7]

Вот код:
procedure TForm1.Button1click(Sender: TObject);
begin
Form2:= TForm2.Create(Application);
end;

...

procedure TForm2.CreateParams(Sender: TObject);
begin
inherited CreateParams(Params);
Params.WndParent:= GetDesktopWindow;
end;

procedure TForm2.Button1Click(Sender: TObject);
var s: String;
begin
s:=Label1.Caption;
end;


Один раз кликаем на TForm1.Button1Click, появляется первое окно, второй раз кликаем на это же TForm1.Button1Click, появляется второе окно. Далее нажимаю TForm2.Button1Click, независимо от того, на какое окно: первое или второе, получаю значение s второго окна, а надо первого.


 
jack128   (2003-07-29 17:26) [8]

у меня все нормально работает..

var i : integer = 0;

procedure TForm1.Button2Click(Sender: TObject);
begin
with TForm2.Create(Application) do
begin
Show;
Label1.Caption := IntToStr(i);
end;
inc(i);
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.Caption := Label1.Caption;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;


 
default   (2003-07-29 18:05) [9]

может это поможет...
или сохраняй указатель на первую форму или что-то вроде этого


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
end;

var
Form1: TForm1;
Counter: Byte = 0;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

if Counter > 254 then Exit;
Inc(Counter);
with TForm1.Create(Form1) do begin
Label1.Caption := IntToStr(Counter);
Name := "F" + Label1.Caption;
Show
end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin

Caption := TForm1(Form1.FindComponent("F1")).Label1.Caption

end;

end.








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

Форум: "Основная";
Текущий архив: 2003.08.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-33280
8UnG
2003-07-22 21:31
2003.08.11
Com-port!!!


3-33076
TankMan
2003-07-13 02:34
2003.08.11
Проблема хранения....


1-33110
Новенький
2003-07-28 23:14
2003.08.11
Вопрос по Memo


7-33381
RoadStar
2003-05-27 10:58
2003.08.11
Ramdrive


1-33154
Mystex
2003-07-27 09:16
2003.08.11
Как изменить атрибуты текста в RichEdit...





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