◀ANSI版開発トップへ
  • 2628 ウインドウマネージャのねた
    • 2637 Re: ウインドウマネージャのねた
    • 3048 MDIとタブビューの関係
    • 3869 RE: ウインドウマネージャのねた
  • [2628] ウインドウマネージャのねた みく 2003年03月28日 19:12


    MDIやTABウインドウを実現するためのねたを...

    ・CWinMgr みたいなクラスを1個作成する。
    ・クラスでは親ウインドウ(m_hwndTray)をもらってMDIウインドウ(orその他)を作成する。
    ・CControlProcess or CEditApp::Createあたりからクラスを呼び出す。
    ・作成されたウインドウマネージャハンドルを m_pShareData->m_hwndWinMgr に格納しておく。
    ・CNormalProcess から生成されるCEditWnd に渡す親ウインドウをすべて hwndTrayからm_hwndWinMgrに変更する。
    ・適当にWM_MDICREATE を投げる。

    #異なるプロセスをMDIにできるのだろうか...
    • [2637] Re: ウインドウマネージャのねた げんた 2003年03月30日 03:06

      >・CWinMgr みたいなクラスを1個作成する。
      本来はCEditWndがその役割を果たすべきではないかと思うんですが、現状ではCEditDocとくっつきすぎですよね。
    • [3048] MDIとタブビューの関係 wmlhq 2003年08月31日 11:13

      タブビューのとき、Ctrl+F4で閉じないのは、ちょっと変かな。
    • [3869] RE: ウインドウマネージャのねた みく 2005年03月11日 23:02


      >#異なるプロセスをMDIにできるのだろうか...

      超亀レス。

      SetParent( child, me );
      LONG style = GetWindowLong( child, GWL_EXSTYLE );
      style |= WS_EX_MDICHILD;
      SetWindowLong( child, GWL_EXSTYLE, style );

      とかすればまとめられるんですね。