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>