none
プロパティシートのタブ名を変えるには RRS feed

  • 質問

  • VC2005 MFC MDIアプリケーションを開発しています。

    プロパティシートがチャイルドウィンドウのアプリケーションなのですが、
    追加するプロパティページの名前をファイルから読み取ってユーザーが自由に変えられる
    ようにしたいと思っています。

    通常のタブ名はViewクラスのCreate()の中で以下の記述で変えられました。

    //プロパティシートからタブコントロールを取る
    CTabCtrl* pTab = sheet->GetTabControl();

    TCITEM tabCtrlItem = {TCIF_TEXT};
    tabCtrlItem.pszText= "NewName";
    tabCtrlItem.cchTextMax = _tcsclen(tabCtrlItem.pszText);

    pTab->SetItem(0, &tabCtrlItem);



    しかし、プロパティシート1のタブの1つにDoModalにて別のプロパティシートを呼び出
    しているものがあります。

    その呼び出されるシートのOnInitDialogで同処理を行うと、GetTabControl()にてNULLが
    返ってきてしまいます。

    要はDoModal()でプロパティシートを開いたときのタブコントロールの名称変更がうまくいかない状態です。

    何が原因でしょうか?
    2009年3月30日 12:01

回答

  • 再度試みてみると何の問題もなくNULLが返ってこずに変更する事ができました。
    何が原因かは分からないのですが、解決しました。
    ありがとうございました。
    • 回答としてマーク FL80 2009年4月2日 7:12
    2009年4月2日 7:11