[C++Builder]コンポーネントのプロパティ「Visible」は表示・非表示を設定し、「Showing」は本当に表示されているかどうかを示す

C++Builderでは、コンポーネントのプロパティ「Visible」で表示・非表示を設定する。
trueならコンポーネントを表示、falseなら非表示にする。

ところが、「Visible」プロパティをtrueにしても、親コントロールが非表示の場合には表示されない。

本当に表示されているかどうかはコンポーネントの「Showing」プロパティで知ることができる。
「Showing」プロパティは、本当に表示されている時はtrue、表示されていない時はfalseを返す。

サンプルプログラムは、Edit1コンポーネントのShowingプロパティの値を表示するプログラム。

チェックボックスのチェックにあわせてコンポーネントのVisibleプロパティの値を変更する。

void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
  //チェックボックス「Panel1.Visible」のクリックイベント
  Panel1->Visible = CheckBox1->Checked;
}
void __fastcall TForm1::CheckBox2Click(TObject *Sender)
{
  //チェックボックス「Edit1.Visible」のクリックイベント
  Edit1->Visible = CheckBox2->Checked;
  Label1->Caption = BoolToStr(Edit1->Showing, true);
}

Edit1の親コンポーネントであるPanel1が表示されている時は、Edit1のShowingプロパティはtrueになる。

Edit1の親コンポーネントであるPanel1が表示されていない時は、Edit1のVisibleプロパティがtrueでもShowingプロパティはfalseになる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください