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

📄 dlg_map.cpp

📁 对日本KSG震动探测仪器编写的伴侣服务代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		// 恔搙
		if (pWnd->m_hWnd == GetDlgItem(IDC_STC_SND_01+i)->m_hWnd) {
			pDC->SetBkColor(Bak_Color);
			pDC->SetTextColor(Txt_Color);
			return m_BakColor;
		}
		// 恔搙(0~9)
		if (pWnd->m_hWnd == GetDlgItem(IDC_STC_MAG_01+i)->m_hWnd) {
			pDC->SetBkColor(Bak_Color);
			pDC->SetTextColor(Mag_clr_tbl[Map_DbData[i].SinKai]);
			return m_BakColor;
		}
		// 儊僢僙乕僕
		if (pWnd->m_hWnd == GetDlgItem(IDC_STC_ERR_01+i)->m_hWnd) {
			pDC->SetBkColor(Bak_Color);
			pDC->SetTextColor(Msg_Color);
			return m_BakColor;
		}
	}
	// 懠偺僥僉僗僩
	for (i=0; i<8; i++) {
		if (pWnd->m_hWnd == GetDlgItem(nID[i])->m_hWnd) {
			pDC->SetBkColor(Bak_Color);
			pColor = Txt_Color;
			if (nID[i] == IDC_STC_TITLE_02) {
				if (Dtb_SmpPoi != 0) {			// 抧恔敪惗拞?
					pColor = Msg_Color;
				}
			}
			pDC->SetTextColor(pColor);
			return m_BakColor;
		}
	}
	return hbr;
}

/*=====================================
@p	<< 夋柺僟僽儖僋儕僢僋 >>
=====================================*/
void CDlg_Map::OnLButtonDblClk(UINT nFlags, CPoint point) 
{
	int ch;
	CDlg_Err pDlg;

	if (Dtb_SmpPoi == 0){
		for (ch=0;ch<MAX_CH;ch++){
			if (RcvSttDat[ch].Stt_Kms || RcvSttDat[ch].Stt_Sys){
				if (Stt_msg_pnt[ch].left < point.x && point.x < Stt_msg_pnt[ch].right){
					if (Stt_msg_pnt[ch].top < point.y && point.y < Stt_msg_pnt[ch].bottom){
						Dsp_err_stt[0] = RcvSttDat[ch].Stt_Kms;
						Dsp_err_stt[1] = RcvSttDat[ch].Stt_Sys;
						pDlg.DoModal();
					}
				}
			}
		}
	}
	CDialog::OnLButtonDblClk(nFlags, point);
}

/*=====================================
@p	<< 俷俲儃僞儞 >>
=====================================*/
void CDlg_Map::OnOK() 
{
	return;
}

/*=====================================
@p	<< 僉儍儞僙儖儃僞儞 >>
=====================================*/
void CDlg_Map::OnCancel() 
{
	return;
}

/*=====================================
@p	<< 儊僯儏乕儃僞儞 >>
=====================================*/
void CDlg_Map::OnBtnMenu() 
{
	DspReqStack(DSP_MENU);
}

/*=====================================
@p	<< 堦棗昞帵儃僞儞 >>
=====================================*/
void CDlg_Map::OnBtnMag() 
{
	DspReqStack(DSP_MAG);
}

/*=====================================
						m:17-Dec-1998
@p	<< 奺僥僉僗僩昞帵埵抲曄峏 >>
堷悢丗	側偟
栠抣丗	側偟
// 27:HY
=====================================*/
void CDlg_Map::DispPosSet()
{
	CWnd*	pWnd;
	CRect	pRect;
	int		i, j;
	int		mid[2] = {
			IDC_STC_COL_01,
			IDC_STC_KAI_01
	};
	int		tid[5] = {
			IDC_STC_BAK_01,
			IDC_STC_PNT_01,
			IDC_STC_SND_01,
			IDC_STC_MAG_01,
			IDC_STC_ERR_01
	};
	int		etc_id[8] = {
			IDC_STC_TBAK_01,
			IDC_STC_TBAK_02,
			IDC_STC_TITLE_01,
			IDC_STC_TITLE_02,
			IDC_STC_TITLE_03,
			IDC_STC_DATE,
			IDC_STC_TIME,
			IDC_STC_SINDO
	};

	//-----( 恔搙怓 & 奒 埵抲曄峏 )-----
	for (i=0; i<2; i++) {
		for (j=1; j<MAX_SINKAI; j++) {
			pWnd = GetDlgItem(mid[i]+j);
			if (pWnd != NULL) {
				pRect.left   = Mag_pos_tbl[i].sx;
				pRect.right  = Mag_pos_tbl[i].sx + Mag_pos_tbl[i].wx;
				pRect.top    = Mag_pos_tbl[i].sy + (MAG_STP_Y * (MAX_SINKAI-1-j));
				pRect.bottom = Mag_pos_tbl[i].hy + pRect.top;
				pWnd->MoveWindow(pRect, TRUE);
				pWnd->ShowWindow(SW_SHOW);
			}
		}
	}

	//-----( 奺僥僉僗僩昞帵埵抲曄峏 )-----
	for (i=0; i<MAX_CH; i++) {
		for (j=0; j<5; j++) {
			if (Pnt_pos_tbl[i][0] == -1) break;
			pWnd = GetDlgItem(tid[j]+i);
			if (pWnd != NULL) {
				pRect.left   = Pnt_pos_tbl[i][0] + Txt_pos_tbl[j].sx;
				pRect.right  = pRect.left        + Txt_pos_tbl[j].wx;
				pRect.top    = Pnt_pos_tbl[i][1] + Txt_pos_tbl[j].sy;
				pRect.bottom = pRect.top         + Txt_pos_tbl[j].hy;
				pWnd->MoveWindow(pRect, TRUE);
				pWnd->ShowWindow(SW_SHOW);
				if (j == 4) {
					Stt_msg_pnt[i] = pRect;
				}
			}
		}
	}
	//-----( 俤俿俠僥僉僗僩昞帵埵抲曄峏 )-----
	for (i=0; i<8; i++) {
		pWnd = GetDlgItem(etc_id[i]);
		if (pWnd != NULL) {
			pRect.left   = Etc_pos_tbl[i].sx;
			pRect.right  = Etc_pos_tbl[i].sx + Etc_pos_tbl[i].wx;
			pRect.top    = Etc_pos_tbl[i].sy;
			pRect.bottom = Etc_pos_tbl[i].sy + Etc_pos_tbl[i].hy;
			pWnd->MoveWindow(pRect, TRUE);
			pWnd->ShowWindow(SW_SHOW);
		}
	}
}

/*-------------------------------------
						m:24-Jan-1999
@p	<< 娤應揰僨乕僞昞帵 >>
-------------------------------------*/
void CDlg_Map::MagDataDisp(int ch)
{
	CDC*	pDC;
	int		x, y, pnt, dat;
	#if !HY_KAI			// 18-Feb-2004 夵憿
		int a, b;
	#endif
	char	buf[10];

	pnt = Ch2Pnt[ch];					// 僠儍僱儖傪億僀儞僩斣崋偵曄姺偡傞僥乕僽儖

	
	if (pnt == 2){
		pnt = 2;
	}
	
	pDC = GetDC();

	pDC->SelectObject(&m_MagFont);
	x = Pnt_pos_tbl[pnt][0] + Txt_pos_tbl[3].sx;
	y = Pnt_pos_tbl[pnt][1] + Txt_pos_tbl[3].sy;
	pDC->SetBkColor(Bak_Color);
	
	
	pDC->SetTextColor(RGB(0, 0, 0));
	// 恔搙
	dat = Map_DbData[pnt].SinKai;
	#if ATSUGI
		if (dat < 0 || dat > 10){
			dat = 10;
		}
	#else
		if (dat < 0 || dat > 12){
			dat = 13;
		}
	#endif
	// ver 1.30
	if (dat >= BrinkKai && Print_req == 0 && Print_num == 0) {
		if (MagFric) {
			sprintf(buf, "%s", Mag_txt_tbl[dat]);
		}
		else {
			#if HY_KAI			// 18-Feb-2004 夵憿
				sprintf(buf, "%s", Mag_txt_tbl[dat]);
			#else
				sprintf(buf, "    ");
			#endif
		}
	}
	else {
		sprintf(buf, "%s", Mag_txt_tbl[dat]);
	}
	if (ch == MAX_CH-1) {
		MagFric = 1 - MagFric;
	}

	// Mark@002
	pDC->SetBkMode(OPAQUE);						// 僶僢僋僇儔乕曄峏偡傞
	pDC->TextOut(x, y-1, "    ");
	pDC->TextOut(x, y+1, "    ");
	pDC->SetBkMode(TRANSPARENT);				// 僶僢僋僇儔乕曄峏偟側偄
//	#if !HY_KAI			// 18-Feb-2004 夵憿
		int a, b;	

		for (a=-1;a<2;a++){
			for (b=-1;b<2;b++){
				pDC->TextOut(x+a, y+b, buf);
			}
		}
//	#endif

	pDC->SetTextColor(Mag_clr_tbl[Map_DbData[pnt].SinKai]);
	pDC->TextOut(x, y, buf);

	ReleaseDC(pDC);			// 26-Jun-2k
}

/*-------------------------------------
						m:27-Dec-1998
@p	<< 娤應揰僨乕僞昞帵 >>
// 27:HY
-------------------------------------*/
void CDlg_Map::EntDataDisp(int ch)
{
	char	buf[64], bf2[64];
	int		pnt, c, err;
	int		max_ch;

	// 娤應揰柤
	pnt = Ch2Pnt[ch];					// 僠儍僱儖傪億僀儞僩斣崋偵曄姺偡傞僥乕僽儖
	SetDlgItemText(IDC_STC_PNT_01+pnt, AdrEntDat[ch].AdrName);

	// 忬懺僗僥乕僞僗
	if (RcvSttDat[ch].Stt_Sys){				// 忬懺 32bit(撪晹)
		err = 2;
	}
	else if (RcvSttDat[ch].Stt_Kms){		// 忬懺 32bit(嫮恔寁)
		err = 1;
	}
	else{
		err = 0;
	}
	SetDlgItemText(IDC_STC_ERR_01+pnt, Map_stt_msg[err]);

	// MAX check
	max_ch = 0;
	for (c=1;c<MAX_CH;c++){
		if (Map_DbData[max_ch].SinLev < Map_DbData[c].SinLev){
			max_ch = c;
		}
	}
	if (max_ch == ch){			// 昞帵 ch == MAX
		// 擔晅帪崗
		if (Map_DbData[ch].R_dt.yer){
			sprintf(buf, "%4d擭%2d寧%2d擔",
					Map_DbData[ch].R_dt.yer,
					Map_DbData[ch].R_dt.mon,
					Map_DbData[ch].R_dt.day
			);
			sprintf(bf2, "%2d帪%2d暘%2d昩",
					Map_DbData[ch].R_dt.hor,
					Map_DbData[ch].R_dt.min,
					Map_DbData[ch].R_dt.sec
			);
		}
		else{
			sprintf(buf, "----擭--寧--擔");
			sprintf(bf2, "--帪--暘--昩");
		}
		SetDlgItemText(IDC_STC_DATE, buf);
		SetDlgItemText(IDC_STC_TIME, bf2);
	}
	CDlg_Map::MagDataDisp(ch);
}

/*=====================================
						m:17-Dec-1998
@p	<< 奺僨乕僞昞帵 >>
// 27:HY
=====================================*/
void CDlg_Map::DataDisp()
{
	int ch;

	for (ch=0;ch<MAX_CH;ch++){
		EntDataDisp(ch);
	}
}

/*=====================================
						m:17-Dec-1998
@p	<< 奺僨乕僞昞帵 >>
// 27:HY
=====================================*/
LRESULT CDlg_Map::OnDispMap(WPARAM s_ch, LPARAM smp_poi)
{
	int ch, sta, end;

	if (smp_poi == 1){	// 慡娤應揰峏怴
		sta = 0;
		end = MAX_CH;
	}
	else{				// 侾娤應揰峏怴
		sta = s_ch;
		end = sta + 1;
	}

	for (ch=sta;ch<end;ch++){		//
		ChkSttDat[ch].Stt_Kms = RcvSttDat[ch].Stt_Kms;
		ChkSttDat[ch].Stt_Sys = RcvSttDat[ch].Stt_Sys;
		EntDataDisp(ch);
	}

	return (0);
}

void CDlg_Map::OnPaint() 
{
	CPaintDC dc(this); // 昤夋梡偺僨僶僀僗 僐儞僥僉僗僩
	
	int ch;
	
	for (ch=0; ch<MAX_CH; ch++) {
		CDlg_Map::EntDataDisp(ch);
	}
	SetTimer(2, 100, NULL);
	
	// 昤夋梡儊僢僙乕僕偲偟偰 CDialog::OnPaint() 傪屇傃弌偟偰偼偄偗傑偣傫
}

/*-------------------------------------
						m:12-Feb-1999
@p	<< 僨乕僞撪梕愗傝懼偊 >>
堷悢		dir			 1 : 師僨乕僞
						-1 : 慜僨乕僞
栠抣		側偟
-------------------------------------*/
void CDlg_Map::DataChange(int dir)
{
	CWnd*	pWnd_o;
	CWnd*	pWnd_n;
	int		ch, old;
	BOOL	stt_o, stt_n, chk_o, chk_n;

	if (Dtb_ent_cnt == 0) return;
	old = Mag_dtb_num;
	Mag_dtb_num += dir;
	if (Mag_dtb_num == Dtb_ent_cnt) {
		Mag_dtb_num = Dtb_ent_cnt - 1;
	}
	else if (Mag_dtb_num < 0) {
		Mag_dtb_num = 0;
	}
	if (Mag_dtb_num != old) {
		if (Max_Info_flg) {
			Mag_top_page = Mag_dtb_num  - (Mag_dtb_num % MAG_MAX_STEP);
		}
		MAP_data_read(Mag_dtb_num);					// 抧恾昞帵梡僨乕僞庢摼
		for (ch=0; ch<MAX_CH; ch++) {
			CDlg_Map::EntDataDisp(ch);
		}
	}
	pWnd_o = GetDlgItem(IDC_BTN_ODATA);
	pWnd_n = GetDlgItem(IDC_BTN_NDATA);
	chk_o = pWnd_o->IsWindowEnabled();
	chk_n = pWnd_n->IsWindowEnabled();
	stt_n = TRUE;
	if (Mag_dtb_num == 0) stt_n = FALSE;
	stt_o = TRUE;
	if ((Mag_dtb_num+1) == Dtb_ent_cnt) stt_o = FALSE;
	if (chk_n != stt_n) {
		Btn_stt[2] = stt_n;
		pWnd_n->EnableWindow(stt_n);
	}
	if (chk_o != stt_o) {
		Btn_stt[3] = stt_o;
		pWnd_o->EnableWindow(stt_o);
	}
}

/*-------------------------------------
						m:12-Feb-1999
@p	<< 怴婯僨乕僞儃僞儞 >>
-------------------------------------*/
void CDlg_Map::OnBtnNdata() 
{
	CDlg_Map::DataChange(-1);
}

/*-------------------------------------
						m:12-Feb-1999
@p	<< 夁嫀僨乕僞儃僞儞 >>
-------------------------------------*/
void CDlg_Map::OnBtnOdata() 
{
	CDlg_Map::DataChange(1);
}

/*-------------------------------------
						m:12-Feb-1999
@p	<< 嵟怴僨乕僞儃僞儞 >>
-------------------------------------*/
void CDlg_Map::OnBtnNewdata() 
{
	int ch;

	Mag_dtb_num = 0;
	Mag_top_page = 0;
	MAP_data_read(Mag_dtb_num);					// 抧恾昞帵梡僨乕僞庢摼
	for (ch=0; ch<MAX_CH; ch++) {
		CDlg_Map::EntDataDisp(ch);
	}
	Btn_stt[2] = FALSE;
	Btn_stt[3] = TRUE;
}

// ver 1.30
void CDlg_Map::OnBtnPrint() 
{
	Print_req = DSP_MAP;
	for (int ch=0; ch<MAX_CH; ch++) {
		CDlg_Map::MagDataDisp(ch);
	}
	SaveWindowAsFile("0_Print.bmp", (CWnd*)this, 0);
}

///////////////////////////////////////////////////////////////////////
// hy@cq_17-Feb-2004
LRESULT	CDlg_Map::OnMessOut(WPARAM wPar, LPARAM lPar)
{
	char buff[256];
	CListBox *pList;
	static int cnt = 0;

	pList = (CListBox*)GetDlgItem(IDC_LIST1);

	if ((cnt % 250) == 0){
		pList->ResetContent();			// list box reset
	}
	sprintf(buff, "(%3d) %s %s", cnt ++, (char*) wPar, (char*) lPar);
	pList->AddString(buff);
	pList->SetCurSel(pList->GetCount()-1);		// 嵟壓埵峴昞帵

	return 0;
}

void CDlg_Map::OnButton1() 
{
	CListBox *pList;

	pList = (CListBox*)GetDlgItem(IDC_LIST1);
	pList->ResetContent();			// list box reset
}

void CDlg_Map::OnButton4() 
{
	int ch;

	ch = 0;							// 搊榐No.
	memmove(Scw[ch].AddPar, "20440205.W18", 12);	// 昞帵攇宍僼傽僀儖柤
	Scw[ch].AddPar[12] = (char) 0x0d; Scw[ch].AddPar[13] = (char) 0x0a;

	if (Rcw[ch].Enable && Rcw[ch].ComPhs == 0){
		int t_ch;

		if (TCP_USE){
			t_ch = 1;
		}
		else{
			t_ch = ch;
		}

		// 29-Jan:HY
		M_Cmd_Exec |= Atv_dat[t_ch];
		Scw[t_ch].ReqCmd = WRETURN;					// 巜掕偟偨僿僢僟乕偲攇宍僼傽僀儖偺揮憲傪梫媮偡傞
		CDlg_Wait wDlg;
		wDlg.DoModal();
	}
}

⌨️ 快捷键说明

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