version 1.2, 2002/07/30 03:06:20 |
version 1.7, 2015/08/20 17:47:53 |
|
|
static char THIS_FILE[] = __FILE__; |
static char THIS_FILE[] = __FILE__; |
#endif |
#endif |
|
|
extern "C" { |
#if defined(MAX) |
#include "ca.h" |
#undef MAX |
#include "ifplot.h" |
#endif |
|
#define MAX(a,b) ((a) > (b) ? (a) : (b) ) |
|
|
|
extern "C" { |
|
#include "if_canvas.h" |
|
extern struct canvas *canvas[]; |
|
extern HANDLE hCanvasCreated; |
|
extern HANDLE hMainThreadReady; |
extern HANDLE hStreamNotify; |
extern HANDLE hStreamNotify; |
extern HANDLE hStreamNotify_Ack; |
extern HANDLE hStreamNotify_Ack; |
extern DWORD MainThread; |
extern DWORD MainThread; |
Line 85 BOOL COx_plotApp::InitInstance() |
|
Line 91 BOOL COx_plotApp::InitInstance() |
|
WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL, |
WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL, |
NULL); |
NULL); |
MainThread = m_nThreadID; |
MainThread = m_nThreadID; |
|
SetEvent(hMainThreadReady); |
|
|
// メイン ウィンドウが初期化されたので、表示と更新を行います。 |
// メイン ウィンドウが初期化されたので、表示と更新を行います。 |
// pFrame->ShowWindow(SW_SHOW); |
// pFrame->ShowWindow(SW_SHOW); |
Line 160 BOOL COx_plotApp::PreTranslateMessage(MSG* pMsg) |
|
Line 167 BOOL COx_plotApp::PreTranslateMessage(MSG* pMsg) |
|
{ |
{ |
// TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください |
// TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください |
CMainFrame *pFrame; |
CMainFrame *pFrame; |
struct canvas *can; |
|
|
|
switch ( pMsg->message ) { |
if ( pMsg->message == WM_APP ) { |
case WM_APP: // copy to canvas |
struct canvas *can; |
can = canvas[pMsg->wParam]; |
|
if ( !can->window ) { |
|
pFrame = new CMainFrame; |
|
/* XXX */ |
|
pFrame->m_pWindowName = |
|
(char *)malloc(MAX(strlen(can->wname),strlen("ox_plot"))+10); |
|
sprintf(pFrame->m_pWindowName,"%s : %d", |
|
strlen(can->wname)?can->wname:"ox_plot",can->index); |
|
|
|
pFrame->m_cansize.cx = can->width; |
can = canvas[pMsg->wParam]; |
pFrame->m_cansize.cy = can->height; |
if ( !canvas_window(can) ) { |
pFrame->LoadFrame(IDR_MAINFRAME, |
char *s = canvas_wname(can); |
WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL, NULL); |
|
can->window = (void *)pFrame; |
pFrame = new CMainFrame; |
pFrame->m_wndView.can = can; |
/* XXX */ |
pFrame->ShowWindow(SW_SHOW); |
pFrame->m_pWindowName = (char *)malloc(MAX(strlen(s),strlen("ox_plot"))+10); |
pFrame->UpdateWindow(); |
sprintf(pFrame->m_pWindowName,"%s : %d",strlen(s)?s:"ox_plot",canvas_index(can)); |
pFrame->BringWindowToTop(); |
|
can->hwnd = pFrame->m_wndView.m_hWnd; |
pFrame->m_cansize.cx = canvas_width(can); |
} else |
pFrame->m_cansize.cy = canvas_height(can); |
pFrame = (CMainFrame *)can->window; |
pFrame->LoadFrame(IDR_MAINFRAME, |
pFrame->RedrawWindow(); |
WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL, |
break; |
NULL); |
case WM_APP+1: // popup |
canvas_set_window(can,(void *)pFrame); |
can = canvas[pMsg->wParam]; |
pFrame->m_wndView.can = can; |
pFrame = (CMainFrame *)can->window; |
pFrame->ShowWindow(SW_SHOW); |
pFrame->ShowWindow(SW_SHOW); |
pFrame->UpdateWindow(); |
break; |
pFrame->BringWindowToTop(); |
case WM_APP+2: // popdown |
canvas_set_handle(can,pFrame->m_wndView.m_hWnd); |
can = canvas[pMsg->wParam]; |
} else |
pFrame = (CMainFrame *)can->window; |
pFrame = (CMainFrame *)canvas_window(can); |
pFrame->ShowWindow(SW_HIDE); |
pFrame->RedrawWindow(); |
closed_canvas[pMsg->wParam] = can; |
SetEvent(hCanvasCreated); |
canvas[pMsg->wParam] = 0; |
} |
break; |
|
default: |
|
break; |
|
} |
|
return CWinApp::PreTranslateMessage(pMsg); |
return CWinApp::PreTranslateMessage(pMsg); |
} |
} |
|
|