Как отправить обратно для контроля во время выполнения? - PullRequest
1 голос
/ 27 октября 2010

Во-первых, пожалуйста, скачайте этот файл ( загрузить ).

Как мне настроить Form2 на «Отправить назад» для показа Image1 пользователю ??я использую Image1.BringToFront;но этот код не работает !!

вот основной блок:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
      uses unit2;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   tFrm2:Tform2;
begin
     tFrm2:=Tform2.Create(self);
     tFrm2.Parent:=self;
     tFrm2.Align:=alClient;
     tFrm2.Show;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//     Image1.BringToFront;

end;

end.

1 Ответ

2 голосов
/ 27 октября 2010

Как вы это делаете, многие экземпляры Form2 могут быть размещены поверх изображения, так что вы можете искать все дочерние формы (я имею в виду, все формы, родительские элементы которых Form1) и скрывать каждую. Окончательный результат - изображение показывается снова.

procedure TForm1.Button2Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to Screen.FormCount - 1 do
    if (Screen.Forms[I].Parent = Self) then
      Screen.Forms[I].Hide;
end;

С уважением.

...