AGH 2.0 (Ageha 1.1)

AGH 2.0(Ageha)は、新たにMPXの枠組みの中の一つとして定義します。

MPXの中で、GUIコンポーネントの部分を担当します。

AGH 1.1と特に大きく変わった所は、全てのあらゆるクラスを「コントロール」 として定義した事です。これは、単なる表示用コントロール(ウインドウやボタン等)のみならず、 Factoryやタイマー等も一つのコントロールとして扱います。

また、最上位コントロールとして、CWindowBase ではなく、新たに「CRootBase」が定義されています。
これにより、ウインドウを持たないアプリケーションや、複数のウインドウを使用するアプリケーション にも対応出来ます。

  • CRootBase / CApplicationBase
    • CImplFactoryBase
    • CWindowBase
      • CKeyboardEventsHandler
      • CMouseEventsHandler
      • CButtonBase
      • CLabelBase / CTextBase
      • CTextBoxBase
      • CComboBoxlBase
      • CListCtrlBase
      • CTreeCtrlBase

Factoryとコントロール種別

  • 0x00000000~0x18FFFFFF : AGHで使用
  • 0x1C000000~0x1C00FFFF : August Framework
  • 0x20000000~0x5FFFFFFF : ユーザ側で自由に定義可能
  • 0x60000000~0xFFFFFFFF : 予約
  • ROOT (0x0001)
  • IMPL_FACTORY (0x0080)
  • WINDOW (0x0300)
  • BUTTON (0x0200)
  • LABEL (0x0210)
  • TEXT_BOX (0x0220)
  • COMBO_BOX (0x0400)
  • LIST_CTRL (0x0410)
  • TREE_CTRL (0x0420)

DCM (Direct Control Map)

std::map<int,int> m_dcm;

  • ROOT (1)
  • PARENT (2)
  • CHILD (3)
  • CHILD_FIRST (4)
  • CHILD_LAST (5)
  • IMPL_FACTORY (80)
  • WINDOW (0x0300)
  • 0x20000000~0x5FFFFFFF : ユーザ側で自由に定義可能
  • CAugustRoot (0x1C000200)
  • CRoot
    • CAghMwlImplFactory
      • CWindow
        • CAugustRoot
          • CImage
          • CText
  • Ageha=Abstract Graphic-user-intErface HeAders
  • AGF=Abstract GUI Framework
  • AWF=Abstract Window Framework