たとえば、ボタンを押すと、パネル(ボタンのペアレント)を開放する方法はありますか?
procedure TForm1.Button1Click(Sender: TObject);
begin
Panel1.Free;
end;
そうすると、エラーになりますよ。
そうですか。わたしのではなりませんね。
マウスと「Enter」キー両方試してみたら、
ちなみに、こっちは、バージョン7ですけど。
参考までに、私の環境でもエラーにはなりませんでした。
わたしのD5でもエラーになりません。TForm.Release をまねて、例えば
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
case Msg.message of
WM_APP+100: TObject(Msg.wParam).Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
PostMessage(Application.Handle,WM_APP+100,WParam(Panel1),0);
end;
とかでいいのでは。
確認しますが、
ボタンは、パネルにつけている。
はい、Form1の上にPanel1、その上にButton1です。
Enterでもエラーになりません。D6ですが。
何かのイベントが邪魔をしているのでは?
jok殿、
初心者なので、よく理解できなくて、少し説明をいただければ、ありがたいのですが...
例えば、procedure TForm1.ApplicationEvents1Message の作成方法など...
>例えば、procedure TForm1.ApplicationEvents1Message の作成方法など...
コンポーネントに TApplicationEvent っていうのがあるので、それをはって
から、その OnMessage イベントをオブジェクトインスペクタでダブルクリック
すばらしい!
ありがとうございます。
ツイート | ![]() |