📄 mc3000dlg.cpp
字号:
// mc3000Dlg.cpp : 实现文件
//
#include "stdafx.h"
#include "mc3000.h"
#include "mc3000Dlg.h"
#include "ParamManagerDlg.h"
#include "DirectoryMG.h"
#include "shellapi.h"
#include "UserQL.h"
#include "CtrlDlg.h"
#include "SymbolQL.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// Cmc3000Dlg 对话框
Cmc3000Dlg::Cmc3000Dlg(CWnd* pParent /*=NULL*/)
: CBkDialogST(Cmc3000Dlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
/*
HWND hWnd = ::FindWindow( _T("HHTASKBAR"),NULL );
if( hWnd == NULL )
this->MessageBox(_T("not find statusbar"));
::ShowWindow(hWnd, SW_HIDE );
*/
}
Cmc3000Dlg::~Cmc3000Dlg()
{
/* HWND hWnd = ::FindWindow( _T("HHTASKBAR"),NULL );
if( hWnd == NULL )
this->MessageBox(_T("not find statusbar"));
::ShowWindow(hWnd, SW_NORMAL );
*/
if (m_file.m_hFile != CFile::hFileNull)
{
m_file.Close();
}
}
void Cmc3000Dlg::DoDataExchange(CDataExchange* pDX)
{
CBkDialogST::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BUTTON_PARAM, m_btSystem);
DDX_Control(pDX, IDC_BUTTON_CTRL, m_btCtrl);
DDX_Control(pDX, IDC_BUTTON_CODE_QL, m_btCODEQL);
DDX_Control(pDX, IDC_BUTTON_USER_QL, m_btUSERQL);
}
BEGIN_MESSAGE_MAP(Cmc3000Dlg, CBkDialogST)
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
ON_WM_SIZE()
#endif
//}}AFX_MSG_MAP
ON_WM_PAINT()
ON_BN_CLICKED(IDC_BUTTON_PARAM, &Cmc3000Dlg::OnBnClickedButtonParam)
ON_BN_CLICKED(IDC_BUTTON_CTRL, &Cmc3000Dlg::OnBnClickedButtonCtrl)
ON_BN_CLICKED(IDC_BUTTON_CODE_QL, &Cmc3000Dlg::OnBnClickedButtonCodeQl)
ON_BN_CLICKED(IDC_BUTTON_USER_QL, &Cmc3000Dlg::OnBnClickedButtonUserQl)
ON_BN_CLICKED(IDC_BUTTON_QUIT, &Cmc3000Dlg::OnQuit)
ON_WM_SIZE()
END_MESSAGE_MAP()
// Cmc3000Dlg 消息处理程序
void Cmc3000Dlg::OnQuit()
{
CBkDialogST::OnCancel();
}
BOOL Cmc3000Dlg::OnInitDialog()
{
CBkDialogST::OnInitDialog();
CenterWindow(GetDesktopWindow());
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
//m_btSystem.SetIcon(IDI_ICON_SYSTEM);
// m_btSystem.DrawBorder(FALSE);
// m_btSystem.DrawTransparent();
// TODO: 在此添加额外的初始化代码
LoadBMP();
this->SetWindowText(m_SysParam.m_sPDAName);
//this->ShowWindow(SW_SHOWMAXIMIZED);
ShowWindow(SW_MAXIMIZE);
::BringWindowToTop(m_hWnd);
//交换文件
bool bres =false;
try
{
if (m_file.Open(CDirectoryMG::GetExchangePath(),CFile::modeCreate|CFile::modeWrite))
{
bres = true;
}
}
catch (CException* e)
{
}
if (m_file.m_hFile != CFile::hFileNull)
{
m_file.Close();
}
if (!bres)
{
AfxMessageBox(L"交换文件建立失败,请重新运行程序!");
}
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
void Cmc3000Dlg::OnSize(UINT /*nType*/, int /*cx*/, int /*cy*/)
{
DRA::RelayoutDialog(
AfxGetInstanceHandle(),
this->m_hWnd,
DRA::GetDisplayMode() != DRA::Portrait ?
MAKEINTRESOURCE(IDD_MC3000_DIALOG_WIDE) :
MAKEINTRESOURCE(IDD_MC3000_DIALOG));
}
#endif
void Cmc3000Dlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CBkDialogST::OnPaint() for painting messages
}
void Cmc3000Dlg::OnBnClickedButtonParam()
{
// TODO: Add your control notification handler code here
CParamManagerDlg dlg(&m_SysParam,this);
if (dlg.DoModal() == IDOK)
{
ReloadBMP();
}
}
void Cmc3000Dlg::LoadBMP()
{
ReleaseBMP();
CString sBmpPath;
HBITMAP hBitmap; //定义位图对象句柄
sBmpPath = CDirectoryMG::GetBmpsDir() + m_SysParam.m_sBMPName;
hBitmap=SHLoadDIBitmap(sBmpPath);
SetBitmap(hBitmap);
m_hBMP = hBitmap;
}
void Cmc3000Dlg::ReleaseBMP()
{
/*
if (m_hBMP != NULL)
{
DeleteObject(m_hBMP);
m_hBMP = NULL;
}
*/
}
void Cmc3000Dlg::ReloadBMP()
{
LoadBMP();
}
void Cmc3000Dlg::OnBnClickedButtonCtrl()
{
// TODO: Add your control notification handler code here
CCtrlDlg dlg;
if (dlg.DoModal() == IDOK)
{
}
}
#include "TimeMsgDlg.h"
#include "DataShowDlg.h"
void Cmc3000Dlg::OnBnClickedButtonCodeQl()
{
// TODO: Add your control notification handler code here
CString sKey;
CSymbolQL *pdlg = new CSymbolQL;
if (pdlg->DoModal() == IDOK)
{
sKey = pdlg->GetKey();
delete pdlg;
pdlg = NULL;
CString sEX;
if (m_file.Open(CDirectoryMG::GetExchangePath(),CFile::modeCreate|CFile::modeWrite))
{
m_file.SeekToBegin();
//服务名 用户名 密码 类型 关键子
m_file.WriteString(m_SysParam.m_sServerName);
m_file.WriteString(m_SysParam.m_User);
m_file.WriteString(m_SysParam.m_Password);
sEX = _T("tiaoma");
//sEX += _T("\n");
m_file.WriteString(sEX);
sEX = sKey;
// sEX += _T("\n");
m_file.WriteString(sEX);
// m_file.WriteString(L"\r");
m_file.Close();
}
else
{
AfxMessageBox(L"交换文件建立失败,请重新运行程序!");
return;
}
if (m_file.m_hFile != CFile::hFileNull)
{
m_file.Close();
}
SHELLEXECUTEINFO si;
WCHAR szProgram[255];
CString sPro = CDirectoryMG::GetQLEXE();
wsprintf(szProgram,_T("%s"),sPro);
ZeroMemory(&si, sizeof(si));
si.cbSize = sizeof(si);
si.lpFile = szProgram;
if(ShellExecuteEx(&si) == FALSE)
{
MessageBox(_T("无法运行查询组件!"),_T("运行失败"));
};
/*
CTimeMsgDlg dlg2(_T("查询成功,正在初始化数据...!"));
dlg2.DoModal();
CDataShowDlg dlg(sKey);
dlg.DoModal();
*/
}
}
void Cmc3000Dlg::OnBnClickedButtonUserQl()
{
// TODO: Add your control notification handler code here
CUserQL dlg;
if (dlg.DoModal() == IDOK)
{
CString sEX;
CString sKey;
sKey = dlg.m_sKey;
if (sKey.IsEmpty())
{
AfxMessageBox(L"输入不完整!");
return;
}
if (m_file.Open(CDirectoryMG::GetExchangePath(),CFile::modeCreate|CFile::modeWrite))
{
m_file.SeekToBegin();
m_file.WriteString(m_SysParam.m_sServerName);
m_file.WriteString(m_SysParam.m_User);
m_file.WriteString(m_SysParam.m_Password);
sEX = _T("weizhi");
//sEX += _T("\n");
m_file.WriteString(sEX);
sEX = sKey;
// sEX += _T("\n");
m_file.WriteString(sEX);
// m_file.WriteString(L"\r");
m_file.Close();
}
else
{
AfxMessageBox(L"交换文件建立失败,请重新运行程序!");
return;
}
if (m_file.m_hFile != CFile::hFileNull)
{
m_file.Close();
}
SHELLEXECUTEINFO si;
WCHAR szProgram[255];
CString sPro = CDirectoryMG::GetQLEXE();
wsprintf(szProgram,_T("%s"),sPro);
ZeroMemory(&si, sizeof(si));
si.cbSize = sizeof(si);
si.lpFile = szProgram;
if(ShellExecuteEx(&si) == FALSE)
{
MessageBox(_T("无法运行查询组件!"),_T("运行失败"));
};
}
}
void Cmc3000Dlg::OnSize(UINT nType, int cx, int cy)
{
CBkDialogST::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -