?? d087.bmp.txt
字號:
啟動按鈕隨用戶的選擇而改變。分別對IDC_SERVER和IDC_CLIENT添加針對BN_CLICKED
事件的函數,并編輯該函數。 一
void CLANServerClientDlg::OnServer0
{
m_Dpe = 0,
m_IP.EnableWindow(FALSE);
GetDlgltem(IDC_STARr_LINK)->SetWindowText( "啟動 ");
(AfxGetMainWnd(》->SetWindowText( "服務器 ");
}
void CLANServerClientDlg::OnClient0
{
// TODO: Add your control notification handler code here
m_Type = 1;
m_IP.EnableMhndow(TRUE);
GetDlgItem(IDC_START_LINK)->SetWindowText( "連接 ");
(AfxGetMainWndO)->SetWindowText( "客戶機 ") ;
}
(5)從CAsyncSocket繼承
為了應用程序能夠捕獲并響應Socket事件,應該創建用戶自己的從CAsyncSocket類繼
承的派生類,這是WinSock縞程的基礎,因為所有的WinSock應用程序都是間接地利用MFC
的WinSock類,用戶應該根據自己應用程序的特點,從MFC提供的WinSock類派生出自己
需要的WinSock類。該類需要一種手段以便把Socket事件傳遞給類對象所屬的對話框,還
需要有自己的事件處理函數。
我們根據程序的需要從CAsyncSocket派生3個類:CLanSocket、CLanSocketServer和
CLanSocketClient,派生關系如圖3-9所示。
圖3-9 自定義派生類與CAsyncSocket派生關系
具體實現派生過程如圖3-10所示。在類列表中的工程名處單擊右鍵,選擇“New Class--”
建立一個新類。彈出如圖3-11所示的對話框,建立基類(Base class)為CAsyncSocket的新
類CLanSocket。重復以上過程,分別建立類CLanSocketServer和ClanSocketClient,在建立
類CLanSocketServer和ClanSocketClient的時候,需要選擇文件名(File name:)為
LanSocket.cpp。
87
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -