dlgreqmgt.cpp
来自「《Visual C++经典编程大全》配套代码」· C++ 代码 · 共 176 行
CPP
176 行
// DlgReqMgt.cpp : implementation file
//
#include "stdafx.h"
#include "NClient.h"
#include "DlgReqMgt.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgReqMgt dialog
CDlgReqMgt::CDlgReqMgt(CWnd* pParent /*=NULL*/)
: CDialog(CDlgReqMgt::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgReqMgt)
m_bStartReq = false;
//}}AFX_DATA_INIT
}
void CDlgReqMgt::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgReqMgt)
DDX_Control(pDX, IDC_LIST_MAIN, m_list);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgReqMgt, CDialog)
//{{AFX_MSG_MAP(CDlgReqMgt)
ON_BN_CLICKED(IDC_BTN_CLOSE, OnBtnClose)
ON_BN_CLICKED(IDC_BTN_SENDREQ, OnBtnSendreq)
ON_BN_CLICKED(IDC_BTN_RESULT, OnBtnResult)
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgReqMgt message handlers
void CDlgReqMgt::OnBtnClose()
{
CDialog::OnCancel();
}
BOOL CDlgReqMgt::OnInitDialog()
{
CDialog::OnInitDialog();
m_list.ModifyStyle(0, LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SINGLESEL);
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP);
m_list.InsertColumn(0,"编号",LVCFMT_LEFT,70);
m_list.InsertColumn(1,"申请空间大小",LVCFMT_LEFT,100);
m_list.InsertColumn(2,"是否同意",LVCFMT_LEFT,100);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDlgReqMgt::OnBtnSendreq()
{
CString strCont = "";
int nCont = 0;
GetDlgItem(IDC_EDIT_CONT)->GetWindowText(strCont);
nCont = atoi(strCont);
if(nCont <= 0){
MessageBox("不能申请小于等于0的空间!");
return;
}
CString nData = "";
nData.Format("ReqSpace#%s#%s#%s#" ,((CNClientApp *)AfxGetApp())->m_strUserCode,((CNClientApp *)AfxGetApp())->m_strUserName,strCont);
((CNClientApp *)AfxGetApp())->m_socket->SendData(nData);
MessageBox("空间申请已经发送成功!");
}
void CDlgReqMgt::OnBtnResult()
{
m_list.DeleteAllItems();
CString nData = "";
nData.Format("ReqList#%s#",((CNClientApp *)AfxGetApp())->m_strUserCode);
((CNClientApp *)AfxGetApp())->m_socket->SendData(nData);
GetDlgItem(IDC_BTN_RESULT)->EnableWindow(false);
((CNClientApp *)AfxGetApp())->m_status = REQ_GETREQ;
((CNClientApp *)AfxGetApp())->DeleteLastMsg();
m_bStartReq = true;
SetTimer(1005,1000,NULL);
}
void CDlgReqMgt::OnTimer(UINT nIDEvent)
{
if(nIDEvent == 1005 && m_bStartReq){
if(((CNClientApp *)AfxGetApp())->m_status == STA_NORMAL){
CArrayLastMsg *pItem = ((CNClientApp *)AfxGetApp())->m_arrLastMsg;
GetDlgItem(IDC_BTN_RESULT)->EnableWindow(true);
m_bStartReq = false;
while(pItem != NULL){
AddItem(pItem->strData);
pItem = pItem->pNext;
}
((CNClientApp *)AfxGetApp())->DeleteLastMsg();
}
}
CDialog::OnTimer(nIDEvent);
}
void CDlgReqMgt::AddItem(CString nData)
{
if(strlen(nData) <= 0)
return;
CString strIndex = "";
CString strSpace = "";
CString strAgree = "";
CString yData = nData;
if(yData.Find("#") == -1 || yData.GetLength() <= 4 )
return;
yData = yData.Right(yData.GetLength() - 1);
int pNum = yData.Find("#");
if(pNum == -1)
return;
strIndex = yData.Left(pNum);
yData = yData.Right(yData.GetLength() - pNum - 1);
pNum = yData.Find("#");
if(pNum == -1)
return;
strSpace = yData.Left(pNum);
yData = yData.Right(yData.GetLength() - pNum - 1);
if(strlen(yData) > 0)
yData.Replace("#","");
strAgree = yData;
strAgree.TrimRight(" ");
int nItem = m_list.InsertItem(0,strIndex);
m_list.SetItemText(nItem,1,strSpace);
if(strcmp(strAgree,"1") == 0)
m_list.SetItemText(nItem,2,"是");
else if(strcmp(strAgree,"2") == 0)
m_list.SetItemText(nItem,2,"否");
else
m_list.SetItemText(nItem,2,"未处理");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?