親コントロールに含まれているかどうかを判断する
27 CheckIncludeParentControl 動作確認 Delphi2007 更新日 2008/01/16(水)

フォーカスのあるコントロールの親コントロールに
何があるのかを判断する関数を書いてみました。

Button1がPageControlにあるとして
TabSheet上にあるのか、
を調べる時に使いましょう。

下記関数を
CheckIncludeParentControl(TabSheet1, Button1)
このように指定することで判断できます。

────────────────────
function CheckIncludeParentControl(Parent: TWinControl;
 TargetControl: TWinControl): Boolean;
var
  WinControl: TWinControl;
begin
  Result := False;
  WinControl := TargetControl.Parent;
  while WinControl.Parent <> nil do
  begin
    if WinControl = Parent then
    begin
      Result := True;
      Break;
    end;

    WinControl := WinControl.Parent;
  end;
end;
────────────────────