📄 dlg_map.cpp
字号:
// (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 + -