他コンポーネントの値を得る方法

解決


ハロハロ  2005-06-22 04:33:20  No: 15823

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はどのように取得するのでしょうか?

よろしくお願いいたします。


ん?  2005-06-22 06:56:30  No: 15824

Frame側のユニットでメッセージを表示するように書く。
Frameで発生する動作を、Form側で書こうとするから、混乱する。

どうしてもForm側で書きたければ、手抜きな書き方にすると、こうなるのか?
FrameがTHogeFrameとするなら、このようになる。
THogeFrame(TLabel(Sender).Owner).Edit1.Text

どう?


ハロハロ  2005-06-22 17:16:29  No: 15825

ん?  さんありがとうございます。

>THogeFrame(TLabel(Sender).Owner).Edit1.Text
でとりあえず、出来ることを確認できました。

最初は、Frame側でやってたのですが、うまくいきませんでした。
今回の例を参考に勉強してみます。


ん?  2005-06-22 17:27:29  No: 15826

> 最初は、Frame側でやってたのですが、うまくいきませんでした。
どううまくいかなかったのでしょう?

Sender を参照しなくても、Label1.Caption と Edit.Text だけでメッセージ表示できませんか?

procedure THogeFrame.Label1Click(Sender: TObject);
begin
  ShowMessage(Label1.Caption + Edit1.Text);
end;


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加