⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlg_map.cpp

📁 对日本KSG震动探测仪器编写的伴侣服务代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// (Version 1.00 :: 10-Mar-1999 :: Harutoshi Yoshida)

// Dlg_Map.cpp : 僀儞僾儕儊儞僥乕僔儑儞 僼傽僀儖
//
/************************************************
	Global曄悢 
		Map_DbData[]偵幚僨乕僞(*MAP_PNT_NOW暘)
		僨乕僞惓忢側傜	Map_dtb_cnt = 0
		僄儔乕側傜		Map_dtb_cnt = -1
	傪僙僢僩偟偰偔偩偝偄

	僨乕僞僼傽僀儖側偟偺応崌偼丄奺僨乕僞偼 "--" 偱昞帵偟傑偡
************************************************/

#include "stdafx.h"
#include "KSG.h"
#include "Dlg_Map.h"
#include "Dlg_Wait.h"
#include "Dlg_Err.h"

#include "C_Work.h"
#include "KSG_Main.h"
#include "KSG_File.h"
#include "C_Proc.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

//-----( 掕悢愰尵 )-----
#define	MAG_STP_Y	39							// 恔搙奒昞帵偺倄曽岦旘傃僪僢僩

//-----( 宆愰尵 )-----
struct	S_DSP_POS {
	int	sx;										// Start X
	int	sy;										// Start Y
	int	wx;										// Width X
	int	hy;										// Height Y
};

extern	int		Max_Info_flg;
extern	HWND	MsgHdl;
extern	char	MsgBuff[2][128];

//-----( 曄悢愰尵 )-----
char	*SinTtl[] = {
		// ver 1.30
		//"嵟怴偺娤應婰榐",
		//"抧恔敪惗拞"
		"嵟怴 娤應婰榐",
		"抧恔敪惗拞"
};

//  奺抧揰偺夋柺忋偺埵抲偼揔摉偵妱傝怳偭偨傕偺
//  嵗昗偼儁僀儞僩僽儔僔偱BMP傪撉傒崬傫偩傕偺偲摨摍
int		Pnt_pos_tbl[MAX_PNT_ALL][2] = {			// 奺娤應揰僥僉僗僩昞帵愭摢埵抲
												//  [0]:Start X  /  [1]:Start Y
		{ 400 ,	 12 },							//   [00]:岤栘
		{ 400 , 138 },							//   [01]:埶抦
		{ 400 , 264 },							//   [02]:棨崌
		{ 400 , 390 },							//   [03]:壃栰
		{ 400 , 516 },							//   [04]:彫埣
		{ 400 , 600 },							//   [05]:撿栄棙
		{ 400 , 600 },							//   [06]:嬍愳
		{ 400 , 600 },							//   [07]:憡愳
		{  -1 ,  -1 },							//   [08]:枹搊榐
		{  -1 ,  -1 },							//   [09]:枹搊榐
		{  -1 ,  -1 },							//   [10]:枹搊榐
		{  -1 ,  -1 },							//   [11]:枹搊榐
		{  -1 ,  -1 },							//   [12]:枹搊榐
		{  -1 ,  -1 },							//   [13]:枹搊榐
		{  -1 ,  -1 },							//   [14]:枹搊榐
		{  -1 ,  -1 }							//   [15]:枹搊榐
};

int		Ch2Pnt[MAX_PNT_ALL] = {					// 僠儍僱儖傪億僀儞僩斣崋偵曄姺偡傞僥乕僽儖
		0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
};

struct	S_DSP_POS Txt_pos_tbl[] = {				// 僥僉僗僩昞帵埵抲
		{   0,   0, 174, 104 },					//  [00]:僶僢僋僇儔乕
		{   4,   5, 170,  30 },					//  [01]:娤應揰柤
		{  30,  41,  40,  22 },					//  [02]:"恔搙"
		//{  90,  38,  60,  30 },					//  [03]:恔搙奒(0~9)
		{  90,  45,  60,  30 },					//  [03]:恔搙奒(0~9)
		{  20,  75, 140,  20 }					//  [04]:儊僢僙乕僕
};
struct	S_DSP_POS Mag_pos_tbl[] = {				// 恔搙奒昞帵埵抲
		{  42, 236-50,  31,  26 },					//  [00]:怓
		{  76, 236-50,  62,  26 },					//  [01]:暥帤
};
struct	S_DSP_POS Etc_pos_tbl[] = {				// 懠偺僥僉僗僩昞帵埵抲
		{  32,  15, 312, 122 },					//  [00]:僞僀僩儖僶僢僋僌儔僂儞僪
		{  34, 198-50, 111, 495 },					//  [01]:恔搙奒僶僢僋僌儔僂儞僪
		{  35,  20, 300,  35 },					//  [02]:僞僀僩儖
		{  40,  70, 130,  25 },					//  [03]:嵟怴偺娤應婰榐 or 敪惗拞
		{ 180,  70, 100,  25 },					//  [04]:娔帇帪崗
		{  45, 100, 140,  25 },					//  [05]:擔晅
		{ 185, 100, 130,  25 },					//  [06]:帪娫
		{  85, 205-50,  45,  20 }					//  [07]:"恔搙"
};
#if ATSUGI
	char	*Mag_txt_tbl[] = {			// 恔搙柤
			"",										//  [00]:0
			"侾",									//  [01]:1
			"俀",									//  [02]:2
			"俁",									//  [03]:3
			"係",									//  [04]:4
			"俆庛",									//  [05]:5庛
			"俆嫮",									//  [06]:5嫮
			"俇庛",									//  [07]:6庛
			"俇嫮",									//  [08]:6嫮
			"俈",									//  [09]:7
			"--"									//  [10]:昞帵柍偟	// 27:HY
	};
#else
	char	*Mag_txt_tbl[] = {			// 恔搙柤
			"",	
			"侾",
			"俀",
			"俁",
			"係",
			"俆",
			"俇",
			"俈",
			"俉",
			"俋",
			"10",
			"11",
			"12",
			"--",				// 08-Apr-2004
	};
#endif
CRect	Stt_msg_pnt[MAX_PNT_ALL];				// 忬懺儊僢僙乕僕昞帵埵抲
COLORREF	Txt_Color = RGB(  0,  0,  0);		// 僥僉僗僩僇儔乕
COLORREF	Msg_Color = RGB(255,  0,  0);		// 儊僢僙乕僕僇儔乕
char	*Map_stt_msg[3] = {						// 抧恾夋柺 忬懺儊僢僙乕僕
		// ver 1.30
		//"",										//  [0]:僄儔乕側偟
		//"僄儔乕敪惗両",							//  [1]:憰抲僄儔乕
		//"捠怣僄儔乕両"							//  [2]:撪晹僄儔乕
		"",										//  [0]:僄儔乕側偟
		"Error敪惗両",							//  [1]:憰抲僄儔乕
		"捠怣Error両"							//  [2]:撪晹僄儔乕
};
// ver 1.30
//BOOL	Btn_stt[5] = {
BOOL	Btn_stt[6] = {
		TRUE,									// IDC_BTN_MENU
		TRUE,									// IDC_BTN_MAG
		TRUE,									// IDC_BTN_NDATA
		TRUE,									// IDC_BTN_ODATA
		TRUE,									// IDC_BTN_NEWDATA
		TRUE,									// IDC_BTN_PRINT	ver 1.30
};
// ver 1.30
int		MagFric = 1;

/////////////////////////////////////////////////////////////////////////////
// CDlg_Map 僟僀傾儘僌


CDlg_Map::CDlg_Map(CWnd* pParent /*=NULL*/)
	: CDialog(CDlg_Map::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlg_Map)
		// 儊儌 - ClassWizard 偼偙偺埵抲偵儅僢僺儞僌梡偺儅僋儘傪捛壛傑偨偼嶍彍偟傑偡丅
	//}}AFX_DATA_INIT
}


void CDlg_Map::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlg_Map)
		// 儊儌 - ClassWizard 偼偙偺埵抲偵儅僢僺儞僌梡偺儅僋儘傪捛壛傑偨偼嶍彍偟傑偡丅
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlg_Map, CDialog)
	//{{AFX_MSG_MAP(CDlg_Map)
	ON_WM_CLOSE()
	ON_WM_TIMER()
	ON_WM_CTLCOLOR()
	ON_WM_LBUTTONDBLCLK()
	ON_BN_CLICKED(IDC_BTN_MENU, OnBtnMenu)
	ON_BN_CLICKED(IDC_BTN_MAG, OnBtnMag)
	ON_WM_PAINT()
	ON_BN_CLICKED(IDC_BTN_NDATA, OnBtnNdata)
	ON_BN_CLICKED(IDC_BTN_NEWDATA, OnBtnNewdata)
	ON_BN_CLICKED(IDC_BTN_ODATA, OnBtnOdata)
	ON_BN_CLICKED(IDC_BTN_PRINT, OnBtnPrint)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
	//}}AFX_MSG_MAP

	ON_MESSAGE(WM_DISP_MAP, OnDispMap)
	// hy@cq_17-Feb-2004
	ON_MESSAGE(WM_MESS_OUT, OnMessOut)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlg_Map 儊僢僙乕僕 僴儞僪儔


/*=====================================
@p	<< Dialog弶婜壔 >>
=====================================*/
BOOL CDlg_Map::OnInitDialog() 
{
	CWnd*	pWnd;
	int		i, size;

	CDialog::OnInitDialog();

	MsgHdl = (HWND)this->m_hWnd;

	pOpenDlg = this;							// Dialog Pointer奿擺
	Disp.Enable = 1;				// 愗傝懼偊桳岟

	#if !HY_KAI				// 18-Feb-2004 夵憿
		ShowWindow(SW_SHOWMAXIMIZED);				// 嵟戝壔昞帵
		SetForegroundWindow();						// 嵟慜柺偵昞帵
	#endif

	// 儊僯儏乕儃僞儞(倃)丗柍岠
	GetSystemMenu(FALSE)->EnableMenuItem(SC_CLOSE, MF_DISABLED);

	//-----( 僽儔僔偺嶌惉 )-----
	m_TxtColor.CreateSolidBrush(Txt_Color);
	m_BakColor.CreateSolidBrush(Bak_Color);
	m_MsgColor.CreateSolidBrush(Msg_Color);
	for (i=0; i<MAX_SINKAI; i++) {
		m_MagColor[i].CreateSolidBrush(Mag_clr_tbl[i]);
	}

	//-----( 僼僅儞僩偺嶌惉 )-----
	size = 14;
	m_PntFont.CreateFont(size, 0, 0, 0, FW_NORMAL,FALSE,FALSE,0,
		SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
		DEFAULT_PITCH,"俵俽 柧挬");

	m_MagFont.CreateFont(size+6, 0, 0, 0, FW_NORMAL,FALSE,FALSE,0,
		SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
		DEFAULT_PITCH,"俵俽 僑僔僢僋");
	 
	m_SndFont.CreateFont(size, 0, 0, 0, FW_NORMAL,FALSE,FALSE,0,
		SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
		DEFAULT_PITCH,"俵俽 僑僔僢僋");

	m_MsgFont.CreateFont(size, 0, 0, 0, FW_NORMAL,FALSE,FALSE,0,
		SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
		DEFAULT_PITCH,"俵俽 僑僔僢僋");

	m_DT_Font.CreateFont(size, 0, 0, 0, FW_NORMAL,FALSE,FALSE,0,
		SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
		DEFAULT_PITCH,"俵俽 僑僔僢僋");

	m_TtlFont.CreateFont(size, 0, 0, 0, FW_NORMAL,FALSE,TRUE,0,
		SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
		DEFAULT_PITCH,"俵俽 柧挬");

	m_EtcFont.CreateFont(size, 0, 0, 0, FW_NORMAL,FALSE,FALSE,0,
		SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
		DEFAULT_PITCH,"俵俽 僑僔僢僋");


	//-----( 僼僅儞僩偺妱傝摉偰 )-----
	for (i=0; i<MAX_CH; i++) {
	    pWnd = GetDlgItem(IDC_STC_PNT_01+i);
	    pWnd->SetFont(&m_PntFont, FALSE);

	    pWnd = GetDlgItem(IDC_STC_SND_01+i);
	    pWnd->SetFont(&m_SndFont, FALSE);

	    pWnd = GetDlgItem(IDC_STC_MAG_01+i);
	    pWnd->SetFont(&m_MagFont, FALSE);

	    pWnd = GetDlgItem(IDC_STC_ERR_01+i);
	    pWnd->SetFont(&m_MsgFont, FALSE);
	}
	for (i=0; i<MAX_SINKAI; i++) {
	    pWnd = GetDlgItem(IDC_STC_KAI_01+i);
	    pWnd->SetFont(&m_MagFont, FALSE);
	}
	pWnd = GetDlgItem(IDC_STC_DATE);
    pWnd->SetFont(&m_DT_Font, FALSE);

	pWnd = GetDlgItem(IDC_STC_TIME);
    pWnd->SetFont(&m_DT_Font, FALSE);

	pWnd = GetDlgItem(IDC_STC_TITLE_01);
    pWnd->SetFont(&m_TtlFont, FALSE);

	pWnd = GetDlgItem(IDC_STC_TITLE_02);
    pWnd->SetFont(&m_EtcFont, FALSE);

	pWnd = GetDlgItem(IDC_STC_TITLE_03);
    pWnd->SetFont(&m_EtcFont, FALSE);

	pWnd = GetDlgItem(IDC_STC_SINDO);
    pWnd->SetFont(&m_EtcFont, FALSE);

	//-----( 僥僉僗僩昞帵(屌掕暥帤楍) )-----
	for (i=0; i<MAX_SINKAI; i++) {
		SetDlgItemText(IDC_STC_COL_01+i, "");
		SetDlgItemText(IDC_STC_KAI_01+i, Mag_txt_tbl[i]);
	}
	for (i=0; i<MAX_CH; i++) {
		SetDlgItemText(IDC_STC_SND_01+i, "恔搙");

		ChkSttDat[i].Stt_Kms = RcvSttDat[i].Stt_Kms;
		ChkSttDat[i].Stt_Sys = RcvSttDat[i].Stt_Sys;
	}
	for (i=0; i<MAX_PNT_ALL; i++) {
		SetDlgItemText(IDC_STC_BAK_01+i, "");
	}
	for (i=0; i<MAX_CH; i++) {
		SetDlgItemText(IDC_STC_MAG_01+i, "");
	}

	// ver 1.30
	//for (i=0; i<5; i++) {
	for (i=0; i<6; i++) {
		Btn_stt[i] = TRUE;
	}

	SetDlgItemText(IDC_STC_TBAK_01, "");
	SetDlgItemText(IDC_STC_TBAK_02, "");

	// ver 1.30
	//SetDlgItemText(IDC_STC_TITLE_01, "岤栘巗抧恔娤應僔僗僥儉");
	SetDlgItemText(IDC_STC_TITLE_01, "抧恔娤應System");
	SetDlgItemText(IDC_STC_SINDO, "恔搙");

	SetDlgItemText(IDC_STC_TITLE_02, SinTtl[0]);	// "嵟怴偺娤應婰榐" or "抧恔敪惗拞"
	SetDlgItemText(IDC_STC_TITLE_03, "");			// 抧恔娔帇帪娫僇僂儞僞

	DispPosSet();								// 昞帵埵抲妋掕
	SetTimer(1, 100, NULL);						// 僞僀儅乕僗僞乕僩
	SetTimer(2, 100, NULL);						// 僞僀儅乕僗僞乕僩
	// ver 1.30
	SetTimer(3, 500, NULL);
	return TRUE;
}

/*=====================================
@p	<< Dialog攋婞 >>
=====================================*/
void CDlg_Map::OnClose() 
{
	int i;

	//-----( 奺僆僽僕僃僋僩偺嶍彍 )-----
	m_TxtColor.DeleteObject();
	m_BakColor.DeleteObject();
	m_MsgColor.DeleteObject();
	for (i=0; i<MAX_SINKAI; i++) {
		m_MagColor[i].DeleteObject();
	}
	m_PntFont.DeleteObject();
	m_MagFont.DeleteObject();
	m_SndFont.DeleteObject();
	m_MsgFont.DeleteObject();
	m_DT_Font.DeleteObject();
	m_TtlFont.DeleteObject();
	m_EtcFont.DeleteObject();

	KillTimer(1);

	dialog_close(DSP_MAP);
	CDialog::OnOK();
}

/*=====================================
@p	<< 僞僀儅乕 >>
=====================================*/
void CDlg_Map::OnTimer(UINT nIDEvent) 
{
	CWnd*	pWnd;
	BOOL	b_stt;
	char	buf[20];
	int 	i, t, ch;
	// ver 1.30
	//int		nID[5] = {
	int		nID[6] = {
			IDC_BTN_MENU,
			IDC_BTN_MAG,
			IDC_BTN_NDATA,
			IDC_BTN_ODATA,
			IDC_BTN_NEWDATA,
			IDC_BTN_PRINT
			};

	switch (nIDEvent) {
	case 1:
		if (Dtb_SmpPoi == 0) {					// 捠忢昞帵
			// 儃僞儞
			//for (i=0; i<5; i++) {
			for (i=0; i<6; i++) {
				pWnd = GetDlgItem(nID[i]);
				b_stt = pWnd->IsWindowEnabled();
				if (b_stt != Btn_stt[i]) {
					pWnd->EnableWindow(Btn_stt[i]);
				}
			}
			// 巆傝帪娫
			GetDlgItemText(IDC_STC_TITLE_03, buf, 20);
			if (buf[0] != NULL) {
				SetDlgItemText(IDC_STC_TITLE_03, "");
			}
			// "嵟怴偺娤應婰榐" or "抧恔敪惗拞"
			GetDlgItemText(IDC_STC_TITLE_02, buf, 20);
			if (strcmp(SinTtl[1], buf) == 0) {
				SetDlgItemText(IDC_STC_TITLE_02, SinTtl[0]);
			}
		}
		else {									// 抧恔敪惗拞
			// 儃僞儞
			// ver 1.30
			//for (i=0; i<5; i++) {
			for (i=0; i<6; i++) {
				pWnd = GetDlgItem(nID[i]);
				b_stt = pWnd->IsWindowEnabled();
				if (b_stt == TRUE) {
					pWnd->EnableWindow(FALSE);
				}
			}
			// 巆傝帪娫
			t = E_quakeTimer / 1000;
			sprintf(buf, "%d", t);
			SetDlgItemText(IDC_STC_TITLE_03, buf);
			// "嵟怴偺娤應婰榐" or "抧恔敪惗拞"
			GetDlgItemText(IDC_STC_TITLE_02, buf, 20);
			if (strcmp(SinTtl[0], buf) == 0) {
				SetDlgItemText(IDC_STC_TITLE_02, SinTtl[1]);
			}
		}
		break;
	case 2:
		for (ch=0; ch<MAX_CH; ch++) {
			CDlg_Map::MagDataDisp(ch);
		}
		KillTimer(2);
		break;
	// ver 1.30
	case 3:
		for (ch=0; ch<MAX_CH; ch++) {
			CDlg_Map::MagDataDisp(ch);
		}
		break;
	}
	CDialog::OnTimer(nIDEvent);
}

/*=====================================
@p	<< 僐儞僩儘乕儖偺怓曄峏 >>
// 27:HY
=====================================*/
int col_id[] = {
	IDC_STC_COL_01, IDC_STC_COL_02, IDC_STC_COL_03, IDC_STC_COL_04,
	IDC_STC_COL_05, IDC_STC_COL_06, IDC_STC_COL_07, IDC_STC_COL_08,
	IDC_STC_COL_09, IDC_STC_COL_10, IDC_STC_COL_11, IDC_STC_COL_12,
	IDC_STC_COL_13,
};

int kai_id[] = {
	IDC_STC_KAI_01, IDC_STC_KAI_02, IDC_STC_KAI_03, IDC_STC_KAI_04,
	IDC_STC_KAI_05, IDC_STC_KAI_06, IDC_STC_KAI_07, IDC_STC_KAI_08,
	IDC_STC_KAI_09, IDC_STC_KAI_10, IDC_STC_KAI_11, IDC_STC_KAI_12,
	IDC_STC_KAI_13,
};

HBRUSH CDlg_Map::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	int i;
	int	nID[8] = {
		IDC_STC_TBAK_01,
		IDC_STC_TBAK_02,
		IDC_STC_DATE,
		IDC_STC_TIME,
		IDC_STC_TITLE_01,
		IDC_STC_TITLE_02,
		IDC_STC_TITLE_03,
		IDC_STC_SINDO,
	};
	COLORREF	pColor;

	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

	// 恔搙怓
	for (i=0; i<MAX_SINKAI; i++) {
		if (pWnd->m_hWnd == GetDlgItem(col_id[i])->m_hWnd) {
			return m_MagColor[i];
		}
		if (pWnd->m_hWnd == GetDlgItem(kai_id[i])->m_hWnd) {
			pDC->SetBkColor(Bak_Color);
			pDC->SetTextColor(Txt_Color);
			return m_BakColor;
		}
	}
	for (i=0; i<MAX_CH; i++) {
		// 僶僢僋僌儔僂儞僪
		if (pWnd->m_hWnd == GetDlgItem(IDC_STC_BAK_01+i)->m_hWnd) {
			pDC->SetBkColor(Bak_Color);
			pDC->SetTextColor(Txt_Color);
			return m_BakColor;
		}
		// 娤應揰柤
		if (pWnd->m_hWnd == GetDlgItem(IDC_STC_PNT_01+i)->m_hWnd) {
			pDC->SetBkColor(Bak_Color);
			pDC->SetTextColor(Txt_Color);
			return m_BakColor;
		}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -