You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
321 lines
7.9 KiB
C++
321 lines
7.9 KiB
C++
// DCOverrollDlg.cpp : 实现文件
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "DCOverrollDlg.h"
|
|
#include "afxdialogex.h"
|
|
|
|
|
|
// DCOverrollDlg 对话框
|
|
|
|
IMPLEMENT_DYNAMIC(DCOverrollDlg, CDialogEx)
|
|
|
|
DCOverrollDlg::DCOverrollDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialogEx(DCOverrollDlg::IDD, pParent)
|
|
{
|
|
//m_bkBrush.CreateSolidBrush(BKGCLR);
|
|
|
|
m_CurSelect = 99;
|
|
}
|
|
|
|
DCOverrollDlg::~DCOverrollDlg()
|
|
{
|
|
/*关闭定时器*/
|
|
DelateTimer();
|
|
}
|
|
//定时器回调函数
|
|
void FAR PASCAL m_DCOverrollTimer(WORD IDEvent, WORD uReserved, DWORD dwUser, DWORD dwReserved1, DWORD dwReserve2)
|
|
{
|
|
DCOverrollDlg *m_pView = (DCOverrollDlg *)dwUser;
|
|
m_pView->DC0verrollStep(dwUser);
|
|
}
|
|
void DCOverrollDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialogEx::DoDataExchange(pDX);
|
|
//DDX_Control(pDX, IDC_STATIC_DC, m_DCFrameInfoTab);
|
|
DDX_Control(pDX, IDC_STATIC_DC, m_ShowPosition);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(DCOverrollDlg, CDialogEx)
|
|
//ON_COMMAND(ID_13Ins, &DCOverrollDlg::OnUpdate13Ins)
|
|
//ON_UPDATE_COMMAND_UI(ID_WHTJ, &DCOverrollDlg::OnUpdateWHTJ)
|
|
ON_WM_CTLCOLOR()
|
|
ON_WM_CLOSE()
|
|
ON_BN_CLICKED(IDC_BTN_SHOW, &DCOverrollDlg::OnBnClickedBtnShow)
|
|
ON_CBN_SELCHANGE(IDC_DC_CHOSET, &DCOverrollDlg::OnCbnSelchangeDcChoset)
|
|
ON_BN_CLICKED(IDC_RADIO1, &DCOverrollDlg::OnBnClickedRadio1)
|
|
ON_BN_CLICKED(IDC_RADIO2, &DCOverrollDlg::OnBnClickedRadio2)
|
|
ON_MESSAGE(WM_PROCESS_DC_CMD, ProcessDCCMD)
|
|
END_MESSAGE_MAP()
|
|
|
|
HBRUSH DCOverrollDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
|
|
{
|
|
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
|
|
|
|
// TODO: 在此更改 DC 的任何特性
|
|
/*
|
|
if(nCtlColor==CTLCOLOR_STATIC)
|
|
{
|
|
pDC->SetBkColor(RGB(0,0,0));
|
|
pDC->SetTextColor(TXTCLR);
|
|
pDC->SetBkMode(TRANSPARENT);
|
|
}*/
|
|
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
|
|
return m_bkBrush;
|
|
}
|
|
|
|
// DCOverrollDlg 消息处理程序
|
|
BOOL DCOverrollDlg::OnInitDialog()
|
|
{
|
|
CDialogEx::OnInitDialog();
|
|
DlgDCOverroll_Hwnd = GetSafeHwnd();//获得自身的窗口句柄
|
|
|
|
//CRect m_crect;
|
|
//GetDlgItem(IDC_STATIC_DC_PUBLCI)->GetWindowRect(m_crect);
|
|
//ScreenToClient(&m_crect);
|
|
//this->MoveWindow(m_crect.left, m_crect.top, m_crect.Width()*1.05, m_crect.Height()*12);
|
|
this->CenterWindow();
|
|
|
|
///*根据屏幕分辨率最大化显示*/
|
|
//int cx = 0.65*GetSystemMetrics(SM_CXMAXIMIZED);
|
|
//int cy = 0.5*GetSystemMetrics(SM_CYMAXIMIZED);
|
|
//CRect rcRect(0,0,cx,cy);
|
|
//this->MoveWindow(rcRect,true);
|
|
//this->CenterWindow();
|
|
|
|
//CSize tabSize(180,25);
|
|
//m_DCFrameInfoTab.SetItemSize(tabSize);
|
|
//m_DCFrameInfoTab.SetNormalColor(RGB(230,230,230));
|
|
//m_DCFrameInfoTab.SetSelectedColor(0x32CD32);
|
|
|
|
CreateAllDlg();
|
|
|
|
((CComboBox *)GetDlgItem(IDC_DC_CHOSET))->InsertString(0, "13所吊舱控制");
|
|
((CComboBox *)GetDlgItem(IDC_DC_CHOSET))->InsertString(1, "天进吊舱控制");
|
|
((CComboBox *)GetDlgItem(IDC_DC_CHOSET))->SetCurSel(0);
|
|
|
|
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(true);
|
|
|
|
/*启动定时器*/
|
|
//先关闭
|
|
DelateTimer();
|
|
//再启动
|
|
if((DCDC0verrollTimerId = timeSetEvent(20, 10, (LPTIMECALLBACK)m_DCOverrollTimer, (DWORD)this, TIME_PERIODIC)) == 0)
|
|
{
|
|
MessageBox( "通用控制吊舱定时器启动错误!" );
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
BOOL DCOverrollDlg::CreateAllDlg()
|
|
{
|
|
CRect m_crect;
|
|
GetDlgItem(IDC_STATIC_DC_PUBLCI)->GetWindowRect(m_crect);//获得IDC_STATIC_DC_PUBLCI的位置
|
|
ScreenToClient(&m_crect);
|
|
|
|
CRect m_crect2;
|
|
GetDlgItem(IDC_STATIC_DC)->GetWindowRect(m_crect2);//获得IDC_STATIC_DC的位置
|
|
ScreenToClient(&m_crect2);
|
|
|
|
|
|
//吊舱新的控制方式 默认显示
|
|
if(!m_13InstituteDCNewDlg.GetSafeHwnd())
|
|
{
|
|
m_13InstituteDCNewDlg.Create(IDD_DIALOG_DC_13INSTITUTE_NEW,this);
|
|
}
|
|
|
|
m_13InstituteDCNewDlg.MoveWindow(m_crect2);//将IDD_DIALOG_DC_13INSTITUTE_NEW移到IDC_STATIC_DC_PUBLCI所在的位置
|
|
m_13InstituteDCNewDlg.ShowWindow(SW_SHOW);
|
|
|
|
if(!m_WHTJDCNewDlg.GetSafeHwnd())
|
|
{
|
|
m_WHTJDCNewDlg.Create(IDD_DIALOG_DC_WuHanTJ_NEW,this);
|
|
}
|
|
|
|
m_WHTJDCNewDlg.MoveWindow(m_crect2);//将IDD_DIALOG_DC_13INSTITUTE_NEW移到IDC_STATIC_DC_PUBLCI所在的位置
|
|
m_WHTJDCNewDlg.ShowWindow(SW_HIDE);
|
|
|
|
CRect m_RectShow; //显示部分的面积区域
|
|
GetWindowRect(&m_RectLarge);
|
|
GetDlgItem(IDC_STATIC_DC_PUBLCI)->GetWindowRect(&m_RectShow);
|
|
m_RectSmall.left = m_RectLarge.left;
|
|
m_RectSmall.top = m_RectLarge.top;
|
|
m_RectSmall.right = m_RectShow.right;
|
|
m_RectSmall.bottom = m_RectLarge.bottom;
|
|
SetWindowPos(NULL,0,0,m_RectSmall.Width(),m_RectSmall.Height(),SWP_NOMOVE|SWP_NOZORDER);
|
|
|
|
return true;
|
|
}
|
|
//定时器处理函数
|
|
void DCOverrollDlg::DC0verrollStep(DWORD)
|
|
{
|
|
|
|
}
|
|
void DCOverrollDlg::DelateTimer()
|
|
{
|
|
if(DCDC0verrollTimerId!=0)
|
|
{
|
|
timeKillEvent(DCDC0verrollTimerId);
|
|
DCDC0verrollTimerId = 0;
|
|
}
|
|
}
|
|
void DCOverrollDlg::OnClose()
|
|
{
|
|
// TODO: 在此添加消息处理程序代码和/或调用默认值
|
|
/*关闭定时器*/
|
|
DelateTimer();
|
|
|
|
m_CurSelect = 99;
|
|
CDialogEx::OnClose();
|
|
}
|
|
|
|
|
|
void DCOverrollDlg::OnBnClickedBtnShow()
|
|
{
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
|
CString str;
|
|
GetDlgItemText(IDC_BTN_SHOW, str);
|
|
if(str == _T("扩展显示>>"))
|
|
{
|
|
SetDlgItemText(IDC_BTN_SHOW, _T("隐藏显示<<"));
|
|
SetWindowPos(NULL, 0, 0, m_RectLarge.Width(), m_RectLarge.Height(),SWP_NOMOVE|SWP_NOZORDER);
|
|
}
|
|
else if(str == _T("隐藏显示<<"))
|
|
{
|
|
SetDlgItemText(IDC_BTN_SHOW, _T("扩展显示>>"));
|
|
SetWindowPos(NULL, 0, 0, m_RectSmall.Width(), m_RectSmall.Height(),SWP_NOMOVE|SWP_NOZORDER);
|
|
}
|
|
|
|
}
|
|
//LRESULT DCOverrollDlg::ProcessDCCMD(WPARAM wParam, LPARAM lParam)
|
|
//{
|
|
// if(!gCurGCSCtrlFlag)
|
|
// {
|
|
// return 0;
|
|
// }
|
|
// if(m_CurSelect == 1)
|
|
// {
|
|
// m_WHTJDCNewDlg.UpdateTJDCAction((int)lParam);
|
|
// }
|
|
// else if(m_CurSelect == 0 || m_CurSelect == 99)//默认控制13所吊舱
|
|
// {
|
|
// m_13InstituteDCNewDlg.UpdateDC13Action((int)lParam);
|
|
// }
|
|
//
|
|
// return 0;
|
|
//}
|
|
|
|
void DCOverrollDlg::OnCbnSelchangeDcChoset()
|
|
{
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
//int a = m_DCFrameInfoTab.GetCurSel();
|
|
UpdateData( true );
|
|
int iCount =((CComboBox *)GetDlgItem(IDC_DC_CHOSET))->GetCurSel();
|
|
if(m_CurSelect != iCount)
|
|
{
|
|
m_CurSelect = iCount;
|
|
|
|
if(m_CurSelect == 0)
|
|
{
|
|
/*
|
|
//吊舱旧的控制方式
|
|
//删除天进吊舱对话框
|
|
m_WuHanTJDCDlg.ShowWindow(SW_HIDE);
|
|
m_WuHanTJDCDlg.DelateTimer();
|
|
m_WuHanTJDCDlg.m_DCCommonDateProcess.DelateTimer();
|
|
//显示13所吊舱控制对话框
|
|
m_13InstituteDCDlg.ShowWindow(SW_SHOW);
|
|
m_13InstituteDCDlg.InitializeTimer();
|
|
*/
|
|
|
|
//吊舱新的控制方式
|
|
//显示13所吊舱控制对话框
|
|
m_13InstituteDCNewDlg.ShowWindow(SW_SHOW);
|
|
//隐藏天进吊舱控制对话框
|
|
m_WHTJDCNewDlg.ShowWindow(SW_HIDE);
|
|
|
|
Sleep(120);
|
|
}
|
|
if(m_CurSelect == 1)
|
|
{
|
|
/*
|
|
//吊舱旧的控制方式
|
|
//删除13所吊舱对话框
|
|
m_13InstituteDCDlg.ShowWindow(SW_HIDE);
|
|
m_13InstituteDCDlg.DelateTimer();
|
|
m_13InstituteDCDlg.m_DCCommonDateProcess.DelateTimer();
|
|
//显示天进吊舱控制对话框
|
|
m_WuHanTJDCDlg.ShowWindow(SW_SHOW);
|
|
m_WuHanTJDCDlg.InitializeTimer();
|
|
*/
|
|
|
|
//吊舱新的控制方式
|
|
//隐藏13所吊舱控制对话框
|
|
m_13InstituteDCNewDlg.ShowWindow(SW_HIDE);
|
|
//显示天进吊舱控制对话框
|
|
m_WHTJDCNewDlg.ShowWindow(SW_SHOW);
|
|
|
|
Sleep(120);
|
|
}
|
|
if(m_CurSelect == 99)//默认显示13所吊舱
|
|
{
|
|
/*
|
|
//吊舱旧的控制方式
|
|
m_WuHanTJDCDlg.DelateTimer();
|
|
m_WuHanTJDCDlg.ShowWindow(SW_HIDE);
|
|
m_WuHanTJDCDlg.m_DCCommonDateProcess.DelateTimer();
|
|
m_13InstituteDCDlg.DelateTimer();
|
|
m_13InstituteDCDlg.ShowWindow(SW_HIDE);
|
|
m_13InstituteDCDlg.m_DCCommonDateProcess.DelateTimer();
|
|
*/
|
|
|
|
//吊舱新的控制方式
|
|
//隐藏13所吊舱控制对话框
|
|
m_13InstituteDCNewDlg.ShowWindow(SW_HIDE);
|
|
//隐藏天进吊舱控制对话框
|
|
m_WHTJDCNewDlg.ShowWindow(SW_HIDE);
|
|
|
|
Sleep(120);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
void DCOverrollDlg::OnBnClickedRadio1()
|
|
{
|
|
|
|
m_CurSelect = 0;
|
|
//显示13所吊舱控制对话框
|
|
m_13InstituteDCNewDlg.ShowWindow(SW_SHOW);
|
|
//隐藏天进吊舱控制对话框
|
|
m_WHTJDCNewDlg.ShowWindow(SW_HIDE);
|
|
Sleep(120);
|
|
}
|
|
|
|
|
|
void DCOverrollDlg::OnBnClickedRadio2()
|
|
{
|
|
m_CurSelect = 1;
|
|
//隐藏13所吊舱控制对话框
|
|
m_13InstituteDCNewDlg.ShowWindow(SW_HIDE);
|
|
//显示天进吊舱控制对话框
|
|
m_WHTJDCNewDlg.ShowWindow(SW_SHOW);
|
|
Sleep(120);
|
|
}
|
|
LRESULT DCOverrollDlg::ProcessDCCMD(WPARAM wParam, LPARAM lParam)
|
|
{
|
|
if(m_CurSelect == 1)
|
|
{
|
|
m_WHTJDCNewDlg.UpdateTJDCAction((int)lParam);
|
|
}
|
|
//else if(m_CurSelect == 0 || m_CurSelect == 99)//默认控制13所吊舱
|
|
//{
|
|
// m_13InstituteDCNewDlg.UpdateDC13Action((int)lParam);
|
|
//}
|
|
|
|
return 0;
|
|
} |