資源簡介
MFC程序開發之聊天室(客戶端+服務器)源碼
適合初學者參考
代碼片段和文件信息
//?LogonDlg.cpp?:?實現文件
//
#include?“stdafx.h“
#include?“Resource.h“
#include?“LogonDlg.h“
//?CLogonDlg?對話框
IMPLEMENT_DYNAMIC(CLogonDlg?CDialog)
CLogonDlg::CLogonDlg(CWnd*?pParent?/*=NULL*/)
:?CDialog(IDD_LOGON?pParent)
{
}
CLogonDlg::~CLogonDlg()
{
}
void?CLogonDlg::DoDataExchange(CDataExchange*?pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CLogonDlg?CDialog)
ON_BN_CLICKED(IDC_LOGON?&CLogonDlg::OnBnClickedLogon)
END_MESSAGE_MAP()
//?CLogonDlg?消息處理程序
BOOL?CLogonDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//限制字符
((CEdit*)GetDlgItem(IDC_USERNAME))->LimitText(32);
((CEdit*)GetDlgItem(IDC_PASSWORD))->LimitText(32);
//服務器地址
TCHAR?szServerAddr[33]?=?TEXT(“127.0.0.1“);
CT2CA?CurrentServer(szServerAddr);
DWORD?dwServerAddrIP=inet_addr(CurrentServer);
if?(dwServerAddrIP==INADDR_NONE)
{
LPHOSTENT?lpHost=gethostbyname(CurrentServer);
if?(lpHost!=NULL)?dwServerAddrIP=((LPIN_ADDR)lpHost->h_addr)->s_addr;
}
CIPAddressCtrl?*?pServerIP=(CIPAddressCtrl?*)GetDlgItem(IDC_IPADDRESS);
pServerIP->SetAddress(ntohl(dwServerAddrIP));
//默認端口
SetDlgItemInt(IDC_PORT1038);
//默認用戶名
SetDlgItemInt(IDC_USERNAMEGetTickCount());
//默認密碼
SetDlgItemText(IDC_PASSWORDTEXT(“123456“));
return?TRUE;??//?return?TRUE?unless?you?set?the?focus?to?a?control
//?異常:?OCX?屬性頁應返回?FALSE
}
void?CLogonDlg::OnBnClickedLogon()
{
tagLogonInfo?*pLogonInfo?=?new?tagLogonInfo;
//設置ip
DWORD?dwLogonIP=INADDR_NONE;
BYTE?*?pAddrByte=(BYTE?*)&dwLogonIP;
((CIPAddressCtrl?*)GetDlgItem(IDC_IPADDRESS))->GetAddress(dwLogonIP);
_sntprintf_s(pLogonInfo->szServerAddrCountArray(pLogonInfo->szServerAddr)TEXT(“%d.%d.%d.%d“)pAddrByte[3]pAddrByte[2]pAddrByte[1]pAddrByte[0]);
pLogonInfo->nPort?=?GetDlgItemInt(IDC_PORT);
GetDlgItemText(IDC_USERNAMEpLogonInfo->szUserNameCountArray(pLogonInfo->szUserName));
GetDlgItemText(IDC_PASSWORDpLogonInfo->szPassWordCountArray(pLogonInfo->szPassWord));
//發送消息
AfxGetMainWnd()->PostMessage(WM_USER_LOGON(WPARAM)pLogonInfo);
}
- 上一篇:51 波形發生器 仿真 DAC0832
- 下一篇:R樹的C++實現
評論
共有 條評論