お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"コンテナのParentからTFormを探す"

この発言に対し以下のコメントが寄せられています
#00696 Satobe さん RE:コンテナのParentからTFormを探す
#00698 TN さん RE:コンテナのParentからTFormを探す
#00701 佐藤 充男   さん コンテナのコンポからTFormを探す

こんにちは、佐藤 充男です。 ☆説明  複数のコンテナコンポーネント(例:TPanel)の上に置いてあるコンポー  ネント(例:TButton )から、TForm を探す例です。 ☆準備  1.フォームにPanel1を置き、その上にPanel2、さらにPanel3を置きます。  2.Panel3の上にButton1 を置きます。  こんな感じに配置します  +-------------------------------+ | Form1 |  +-------------------------------+  |+-------------------------+ |  || Panel1 | |  ||+----------------------+ | | ||| Panel2 | | |  |||+-------------------+ | | |  |||| Panel3 | | | |  |||| +---------+ | | | |  |||| | Button1 | | | | |  |||| +---------+ | | | |  |||+-------------------+ | | |  ||+----------------------+ | |  |+-------------------------+ |  +-------------------------------+ ☆補足 ・自作コンポーネントでPostMessage(Parent.Handle,WM_NEXTDLGCTL,0,0);を   呼び出す場合、TPanelやTPageControl上にコンポを置くと反応がなかった   ので作りました。  ・Delphi 4 でテスト。 [サンプルソース] ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var Father: TWinControl; begin Father := Button1; while True do begin if Father is TWinControl then begin if (Father as TControl).Parent is TForm then begin Father := (Father as TControl).Parent; ShowMessage( (Father as TControl).Name ); Break; // TFormが見つかった end; end else begin ShowMessage( 'TWinControlでない!' ); Exit; // TFormが見つからない end; Father := (Father as TControl).Parent; ShowMessage( (Father as TControl).Name ); end; end; ---------------------------------------------------------------------- #すでに公開されてたらごめんさない(^^; 98/10/23(金) 08:20pm LDM03756 佐藤 充男 Original document by 佐藤 充男   氏 ID:(LDM03756)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum