Delphi7 Proでソフトを作っております。
今回初めてFrameを使っているのですが、わからない点がありますので、
解決策をご存知の方がいましたら教えて下さい。
FrameにLabelを1つ(Label1)・Editを1つ(Edit1)を貼り付け、
そのFrameをFormに5つ貼り付け(Frame21から25)ます。
いづれかのFrameにあるLabel1をクリックしたら、クリックしたFrameにある
Label1.CaptionとEdit1.Textをメッセージで表示させたいのですが、
Edit1.Textの値を取得する方法がわかりません。
Labelの時は、TLaleb(Sender).Captionで取得するのはわかるのですが、
Editはどのように取得するのでしょうか?
よろしくお願いいたします。
Frame側のユニットでメッセージを表示するように書く。
Frameで発生する動作を、Form側で書こうとするから、混乱する。
どうしてもForm側で書きたければ、手抜きな書き方にすると、こうなるのか?
FrameがTHogeFrameとするなら、このようになる。
THogeFrame(TLabel(Sender).Owner).Edit1.Text
どう?
ん? さんありがとうございます。
>THogeFrame(TLabel(Sender).Owner).Edit1.Text
でとりあえず、出来ることを確認できました。
最初は、Frame側でやってたのですが、うまくいきませんでした。
今回の例を参考に勉強してみます。
> 最初は、Frame側でやってたのですが、うまくいきませんでした。
どううまくいかなかったのでしょう?
Sender を参照しなくても、Label1.Caption と Edit.Text だけでメッセージ表示できませんか?
procedure THogeFrame.Label1Click(Sender: TObject);
begin
ShowMessage(Label1.Caption + Edit1.Text);
end;
ツイート | ![]() |