インターフェイス上のかなり離れた位置に 2 つの mfc コントロールを追加しました。
以下を追加する必要があります:
1. mfc コントロールの呼び出しに使用される CMfcWndUI クラスを追加します。
2. duilib インターフェイス CDuiFrameWnd を追加します。
3. 2.のインターフェースの仮想 CControlUI* CreateControl(LPCTSTR pstrClassName); 関数を書き換えます。
注意すべき点:
1. まず xlm 上に対応するコントロールを用意する必要があります MyWin32Wnd MyMfcWnd は対応するクラス名です。
<MyWin32Wnd name="btnMfc" text="MFC Button" float="true" pos="39,202,199,232" textcolor="#FF000000" disabledtextcolor="#FFA7A6AA" align="center" normalimage="file='button_nor.bmp' corner='4,2,4,2' fade='200' hsl='true'" hotimage="file='button_over.bmp' corner='4,2,4,2' fade='200' hsl='true'" pushedimage="file='button_down.bmp' corner='4,2,4,2' fade='200' hsl='true' " />
<MyMfcWnd name="btnMfc" text="MFC Button" float="true" pos="200,202,350,232" textcolor="#FF000000" disabledtextcolor="#FFA7A6AA" align="center" normalimage="file='button_nor.bmp' corner='4,2,4,2' fade='200' hsl='true'" hotimage="file='button_over.bmp' corner='4,2,4,2' fade='200' hsl='true'" pushedimage="file='button_down.bmp' corner='4,2,4,2' fade='200' hsl='true' " />
2.CControlUI* CDuiFrameWnd::CreateControl(LPCTSTR pstrClassName)中
pstrClassName は XML のクラス名です。
3.m_pButton->Create( WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON, CRect(0, 0, 0, 0), CWnd::FromHandle(m_PaintManager.GetPaintWindow()), MFC_BUTTON_ID);
作成時の CRect のパラメータは左上と右下で、別のコントロールで CRect の位置を変更できます。
4. #define MFC_BUTTON_ID 8001
マクロ定義の追加