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

📄 setserverdlg.cpp

📁 实现了一个聊天系统的客户端
💻 CPP
字号:
// SetServerDlg.cpp : implementation file
//

#include "stdafx.h"
#include "MyQQClient.h"
#include "SetServerDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSetServerDlg dialog


CSetServerDlg::CSetServerDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSetServerDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSetServerDlg)
	m_iPort = 0;
	//}}AFX_DATA_INIT
}


void CSetServerDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSetServerDlg)
	DDX_Control(pDX, IDC_IP_EDIT, m_addrIP);
	DDX_Control(pDX, IDC_PORT_MSG, m_msgPort);
	DDX_Control(pDX, IDC_IP_MSG, m_msgIP);
	DDX_Control(pDX, IDC_PORT_EDIT, m_editPort);
	DDX_Control(pDX, IDC_REVISE, m_btnRevise);
	DDX_Control(pDX, IDC_CANCEL, m_btnCancel);
	DDX_Text(pDX, IDC_PORT_EDIT, m_iPort);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSetServerDlg, CDialog)
	//{{AFX_MSG_MAP(CSetServerDlg)
	ON_BN_CLICKED(IDC_REVISE, OnRevise)
	ON_BN_CLICKED(IDC_CANCEL, OnCancel)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSetServerDlg message handlers

void CSetServerDlg::OnOK() 
{
	// TODO: Add extra validation here
	
//	CDialog::OnOK();
}

void CSetServerDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

void CSetServerDlg::OnRevise() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);

	if(m_addrIP.IsBlank()) {
		MessageBox("IP地址不能为空!请重新输入!");
		return ;
	}

	BYTE field0,field1,field2,field3;
	m_addrIP.GetAddress(field0,field1,field2,field3);

	if((field0 ==0)
		||(field1 ==0)
		||(field2 ==0)
		||(field3 ==0)) {
		MessageBox("您输入的IP地址有误!请重新输入!");
		return ;
	}
	
	if(m_iPort <= 0) {
		MessageBox("IP地址必须大于0!");
		return ;
	}

	sprintf(m_strIP,"%d.%d.%d.%d",field0,field1,field2,field3);

	MessageBox("要使您的设置生效,请重新启动客户端!");
	
	CDialog::OnOK();
}

BOOL CSetServerDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	char serverAddr[20];
	UINT serverPort;
	
	FILE * fp = fopen("server.info","rb");

	if(fp) {
		fread(serverAddr,20,1,fp);
		fread(&serverPort,sizeof(UINT),1,fp);

		fclose(fp);
	}

	m_addrIP.SetWindowText(serverAddr);

	CString str;
	str.Format("%d",serverPort);
	m_editPort.SetWindowText(str);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSetServerDlg::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	CRect rect;
	GetClientRect(&rect);

	CBrush * br = new CBrush(RGB(192,192,255));
	if ( br ) {
		dc.FillRect(&rect,br);
		delete br;
	}	
	// Do not call CDialog::OnPaint() for painting messages
}

⌨️ 快捷键说明

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