4

TFormを待たずに表示する方法があるのではないかと思っていました(TForm.Showのようなもの)。しかし、私が望むのは、他のすべてのフォームをブロックすることです(ShowModalのように)

例:

Form1とForm2があります。Form1にはForm2を開く必要があるボタンがありますが、Form1はブロックされていますが、ボタンをクリックすると、Form2を開いた後に表示されたコードが続行されます。

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.ShowModal; // ===> Something like that but the Code should continue, yet Form1 and all other forms are blocked (disabled)
  MessageBox (0, 'Code continues', '', 0);
end;

あなたが私が何を意味するか知っていることを望みます。

4

1 に答える 1

9

Windowが無効になっていないことを除いて、DisableTaskwindowsを呼び出し、後でEnableTaskWindowsを呼び出して他のフォームを再度有効にすることができます。

  Form3.Show;
  FP:=DisableTaskwindows(Form3.Handle);
  //Some Code
  EnableTaskwindows(FP);
于 2013-02-25T06:21:17.000 に答える