c++ builder XE4, 10.2 Tokyo > TForm > FormがShowModal()で開かれたか、Show()で開かれたかの確認 > if (FormState.Contains(fsModal)) {


動作確認
C++ Builder XE4
Rad Studio 10.2 Tokyo Update 2 (追記: 2017/12/26)

FormAからFormBを開いた時、FormB側のOnShow()でShow()とShowModal()のどちらで開いたか確認したかった。

StackOverflowで聞いたところ、delphiコードを教えていただいた。
SO

delphiのif fsModal in FormState thenをC++ Builderのコードにすると以下となることがわかった。
参考: http://www.borlandtalk.com/tform-question-vt17251.html

void __fastcall TForm1::FormShow(TObject *Sender)
{
    if (FormState.Contains(fsModal)) {
        ShowMessage(L"ShowModal");
    } else {
        ShowMessage(L"Show");
    }
}