[BACK]Return to ox_plot.cpp CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / windows / engine2000

Annotation of OpenXM_contrib2/windows/engine2000/ox_plot.cpp, Revision 1.1

1.1     ! noro        1: // ox_plot.cpp : アプリケーション用クラスの機能定義を行います。
        !             2: //
        !             3:
        !             4: #include "stdafx.h"
        !             5: #include "ox_plot.h"
        !             6:
        !             7: #include "MainFrm.h"
        !             8:
        !             9: #ifdef _DEBUG
        !            10: #define new DEBUG_NEW
        !            11: #undef THIS_FILE
        !            12: static char THIS_FILE[] = __FILE__;
        !            13: #endif
        !            14:
        !            15: extern "C" {
        !            16: #include "ca.h"
        !            17: #include "ifplot.h"
        !            18:
        !            19:        extern HANDLE hStreamNotify;
        !            20:        extern HANDLE hStreamNotify_Ack;
        !            21:        extern DWORD MainThread;
        !            22:        void Init_IO();
        !            23: }
        !            24: /////////////////////////////////////////////////////////////////////////////
        !            25: // COx_plotApp
        !            26:
        !            27: BEGIN_MESSAGE_MAP(COx_plotApp, CWinApp)
        !            28:        //{{AFX_MSG_MAP(COx_plotApp)
        !            29:        ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
        !            30:        ON_COMMAND(ID_APP_EXIT, OnAppExit)
        !            31:        //}}AFX_MSG_MAP
        !            32: END_MESSAGE_MAP()
        !            33:
        !            34: /////////////////////////////////////////////////////////////////////////////
        !            35: // COx_plotApp クラスの構築
        !            36:
        !            37: COx_plotApp::COx_plotApp()
        !            38: {
        !            39:        // TODO: この位置に構築用コードを追加してください。
        !            40:        // ここに InitInstance 中の重要な初期化処理をすべて記述してください。
        !            41:        Init_IO();
        !            42: }
        !            43:
        !            44: /////////////////////////////////////////////////////////////////////////////
        !            45: // 唯一の COx_plotApp オブジェクト
        !            46:
        !            47: COx_plotApp theApp;
        !            48:
        !            49: /////////////////////////////////////////////////////////////////////////////
        !            50: // COx_plotApp クラスの初期化
        !            51:
        !            52: BOOL COx_plotApp::InitInstance()
        !            53: {
        !            54:        AfxEnableControlContainer();
        !            55:
        !            56:        // 標準的な初期化処理
        !            57:        // もしこれらの機能を使用せず、実行ファイルのサイズを小さく
        !            58:        // したければ以下の特定の初期化ルーチンの中から不必要なもの
        !            59:        // を削除してください。
        !            60:
        !            61: #ifdef _AFXDLL
        !            62:        Enable3dControls();             // 共有 DLL の中で MFC を使用する場合にはここを呼び出してください。
        !            63: #else
        !            64:        Enable3dControlsStatic();       // MFC と静的にリンクしている場合にはここを呼び出してください。
        !            65: #endif
        !            66:
        !            67:        // 設定が保存される下のレジストリ キーを変更します。
        !            68:        // TODO: この文字列を、会社名または所属など適切なものに
        !            69:        // 変更してください。
        !            70:        SetRegistryKey(_T("Local AppWizard-Generated Applications"));
        !            71:
        !            72:
        !            73:        // メイン ウインドウを作成するとき、このコードは新しいフレーム ウインドウ オブジェクトを作成し、
        !            74:        // それをアプリケーションのメイン ウインドウにセットします
        !            75:
        !            76:        CMainFrame* pFrame = new CMainFrame;
        !            77:        m_pMainWnd = pFrame;
        !            78:
        !            79:        // フレームをリソースからロードして作成します
        !            80:
        !            81:        pFrame->m_pWindowName = "dummy window";
        !            82:        pFrame->m_cansize.cx = 1;
        !            83:        pFrame->m_cansize.cy = 1;
        !            84:        pFrame->LoadFrame(IDR_MAINFRAME,
        !            85:                WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL,
        !            86:                NULL);
        !            87:        MainThread = m_nThreadID;
        !            88:
        !            89:        // メイン ウィンドウが初期化されたので、表示と更新を行います。
        !            90: //     pFrame->ShowWindow(SW_SHOW);
        !            91: //     pFrame->UpdateWindow();
        !            92:
        !            93:        return TRUE;
        !            94: }
        !            95:
        !            96: /////////////////////////////////////////////////////////////////////////////
        !            97: // COx_plotApp message handlers
        !            98:
        !            99:
        !           100:
        !           101:
        !           102:
        !           103: /////////////////////////////////////////////////////////////////////////////
        !           104: // アプリケーションのバージョン情報で使われる CAboutDlg ダイアログ
        !           105:
        !           106: class CAboutDlg : public CDialog
        !           107: {
        !           108: public:
        !           109:        CAboutDlg();
        !           110:
        !           111: // ダイアログ データ
        !           112:        //{{AFX_DATA(CAboutDlg)
        !           113:        enum { IDD = IDD_ABOUTBOX };
        !           114:        //}}AFX_DATA
        !           115:
        !           116:        // ClassWizard 仮想関数のオーバーライドを生成します。
        !           117:        //{{AFX_VIRTUAL(CAboutDlg)
        !           118:        protected:
        !           119:        virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV のサポート
        !           120:        //}}AFX_VIRTUAL
        !           121:
        !           122: // インプリメンテーション
        !           123: protected:
        !           124:        //{{AFX_MSG(CAboutDlg)
        !           125:                // メッセージ ハンドラはありません。
        !           126:        //}}AFX_MSG
        !           127:        DECLARE_MESSAGE_MAP()
        !           128: };
        !           129:
        !           130: CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
        !           131: {
        !           132:        //{{AFX_DATA_INIT(CAboutDlg)
        !           133:        //}}AFX_DATA_INIT
        !           134: }
        !           135:
        !           136: void CAboutDlg::DoDataExchange(CDataExchange* pDX)
        !           137: {
        !           138:        CDialog::DoDataExchange(pDX);
        !           139:        //{{AFX_DATA_MAP(CAboutDlg)
        !           140:        //}}AFX_DATA_MAP
        !           141: }
        !           142:
        !           143: BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
        !           144:        //{{AFX_MSG_MAP(CAboutDlg)
        !           145:                // メッセージ ハンドラはありません。
        !           146:        //}}AFX_MSG_MAP
        !           147: END_MESSAGE_MAP()
        !           148:
        !           149: // ダイアログを実行するためのアプリケーション コマンド
        !           150: void COx_plotApp::OnAppAbout()
        !           151: {
        !           152:        CAboutDlg aboutDlg;
        !           153:        aboutDlg.DoModal();
        !           154: }
        !           155:
        !           156: /////////////////////////////////////////////////////////////////////////////
        !           157: // COx_plotApp メッセージ ハンドラ
        !           158:
        !           159: BOOL COx_plotApp::PreTranslateMessage(MSG* pMsg)
        !           160: {
        !           161:        // TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
        !           162:        CMainFrame *pFrame;
        !           163:
        !           164:        if ( pMsg->message == WM_APP ) {
        !           165:                struct canvas *can;
        !           166:
        !           167:                can = canvas[pMsg->wParam];
        !           168:                if ( !can->window ) {
        !           169:                        pFrame = new CMainFrame;
        !           170:                        /* XXX */
        !           171:                        pFrame->m_pWindowName = (char *)malloc(MAX(strlen(can->wname),strlen("ox_plot"))+10);
        !           172:                        sprintf(pFrame->m_pWindowName,"%s : %d",
        !           173:                                strlen(can->wname)?can->wname:"ox_plot",can->index);
        !           174:
        !           175:                        pFrame->m_cansize.cx = can->width;
        !           176:                        pFrame->m_cansize.cy = can->height;
        !           177:                        pFrame->LoadFrame(IDR_MAINFRAME,
        !           178:                                WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL,
        !           179:                                NULL);
        !           180:                        can->window = (void *)pFrame;
        !           181:                        pFrame->m_wndView.can = can;
        !           182:                        pFrame->ShowWindow(SW_SHOW);
        !           183:                        pFrame->UpdateWindow();
        !           184:                        pFrame->BringWindowToTop();
        !           185:                        can->hwnd = pFrame->m_wndView.m_hWnd;
        !           186:                } else
        !           187:                        pFrame = (CMainFrame *)can->window;
        !           188:                pFrame->RedrawWindow();
        !           189:        }
        !           190:        return CWinApp::PreTranslateMessage(pMsg);
        !           191: }
        !           192:
        !           193: void COx_plotApp::OnAppExit()
        !           194: {
        !           195:        // TODO: この位置にコマンド ハンドラ用のコードを追加してください
        !           196:
        !           197: }
        !           198:
        !           199: BOOL COx_plotApp::OnIdle(LONG lCount)
        !           200: {
        !           201:        // TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
        !           202:
        !           203:        return CWinApp::OnIdle(lCount);
        !           204: }
        !           205:
        !           206: void COx_plotApp::OnFilePrintSetup()
        !           207: {
        !           208:        // XXX: the following function is protected.
        !           209:        CWinApp::OnFilePrintSetup();
        !           210: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>