freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文--基于vc的局域網(wǎng)聊天室設(shè)計與實現(xiàn)(編輯修改稿)

2024-12-14 01:05 本頁面
 

【文章內(nèi)容簡介】 indow SW_HIDE 。 SetDlgItemText IDC_EDIT3,亡羊哺狼 。 SetDlgItemText IDC_EDIT4,1025 。 CBitmap bitmap。 IDB_BITMAP1 。 0,SS_BITMAP 。 HBITMAP 。 return TRUE。 // return TRUE unless you set the focus to a control 代碼中又涉及到了虛函數(shù)多態(tài)性,實現(xiàn)了動態(tài)聯(lián)編。先定義了個 CWnd 的指針。 CWnd 封裝了函數(shù) GetDlgItem ,這樣對于其派生的比如編輯框類,靜態(tài)文本類,按鈕類等都繼承了此函數(shù)。這樣只需 在最前面定義一個 CWnd 的指針就可以動態(tài)的獲取相應(yīng)消息。 這些代碼首先對窗口進行了一些文本設(shè)置和某些窗口的隱藏。還設(shè)置了服務(wù)器的昵稱為 亡羊哺狼 void CTcpseverDlg::Onsend CString str,history。 GetDlgItemText IDC_EDIT1,history 。 GetDlgItemText IDC_EDIT2,str 。 str severname+:+str。 int len 。 for int i 1。i csnum。i++ if csrev[i] if sended csrev[i].Send str,len SetDlgItemText IDC_EDIT2, 。 SetDlgItemText IDC_EDIT1,history+\r\n+str 。 CEdit *ce CEdit* GetDlgItem IDC_EDIT1 。 ce LineScroll ce GetLineCount 1 。 這是點擊控件“發(fā)送”的消息響應(yīng)函數(shù)。函數(shù)先把以前聊天區(qū)的內(nèi)容存儲下來,再把其要發(fā)送的內(nèi)和以前的內(nèi)容都打印到屏幕上。做完這些工作向各個登入用戶發(fā)送信息。 圖 8 用戶登入后聊天圖 void CTcpseverDlg::Onlisten CString ipstr,portstr。 int port。 GetDlgItemText IDC_EDIT3,ipstr 。 severname ipstr。 GetDlgItemText IDC_EDIT4,portstr 。 。 。 port atoi portstr 。 if port 1024amp。amp。port 65536 SetDlgItemText IDC_listen,正在監(jiān)聽?? 。 if port 。 this,csnum 。 。 CWnd *cw GetDlgItem IDC_EDIT3 。 cw EnableWindow false 。 cw GetDlgItem IDC_EDIT4 。 cw EnableWindow false 。 cw GetDlgItem IDC_listen 。 cw EnableWindow false 。 cw GetDlgItem IDC_EDIT1 。 cw SetWindowText 本服務(wù)器名稱為 : +severname+\r\n 正在后臺等待用戶連接 ,監(jiān)聽端口 :+portstr+?? 。 else MessageBox 綁定監(jiān)聽端口失敗 ,請確認該端口沒有被其它程序占用 。 。 CString strServ,strPort。 CWnd* wnd。 wnd GetDlgItem IDC_EDIT3 。 wnd GetWindowText strServ 。 wnd GetDlgItem IDC_EDIT4 。 wnd GetWindowText strPort 。 wnd GetDlgItem IDC_SERVINFORM 。 wnd SetWindowText \n**************** 服務(wù)器名稱:\n+strServ+\n\n 端口號 : +strPort+\n\n 協(xié)議類型: TCP\n 傳輸控制協(xié)議\n**************** 。 else MessageBox 端口輸入有誤 ,請重新輸入 。 前面一部分代碼捕捉了端口號,但是端口號是以字符串的形式處理的,而不是數(shù)字。函數(shù) TrimLeft 和 TrimRight 分別意為裁掉該端口字符串的左邊空格和右 邊空格。這樣防止了用戶某些習(xí)慣性輸入錯誤。當(dāng)正確輸入端口號后,創(chuàng)建了一個監(jiān)聽套接字并對端口進行監(jiān)聽。然后通過 EnableWindow 把某些窗體設(shè)置為不可點擊。最后再把信息反饋到屏幕上打印出來。 右邊有個圖片設(shè)置,可以點擊圖片更改到下一幅。再下面就是服務(wù)器信息。打印出了服務(wù)器的監(jiān)聽端口號,昵稱等等,這些由程序動態(tài)獲取。 最后是個公告信息,可以直接點擊進行編輯。貼出部分實現(xiàn)代碼: void CTcpseverDlg::OnPic static int index。 index++。 index index%5。 CBitmap bitmap。 int bit[5] IDB_BITMAP1,IDB_BITMAP2,IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP5 。 bit[index] 。 0,SS_BITMAP 。 HBITMAP 。 這是點擊改變圖片的代碼,在 VC 中, ID 號其實就是一些整數(shù)的標(biāo)記,把 ID存 入一個整型數(shù)組中,實現(xiàn)沒點擊圖片一次自動更換 ID。這樣可以實現(xiàn)動態(tài)改變圖片。 void CTcpseverDlg::OnMarkst CWnd* wnd。 CString str。 wnd GetDlgItem IDC_MARKST 。 wnd GetWindowText str 。 wnd ShowWindow SW_HIDE 。 wnd GetDlgItem IDC_MARK 。 wnd ShowWindow SW_SHOW 。 wnd SetWindowText str 。 這是公布框的設(shè)計,其實在同一區(qū)域中擺放了兩個控件,一個靜態(tài)文本,一個編輯框。在設(shè)計的過程中對話框的初始化函數(shù)中對兩個控件做了設(shè)置。將靜態(tài)文本顯示,編編輯框隱藏,并且設(shè)置靜態(tài)文本中的內(nèi)容和編輯框一樣。這樣當(dāng)啟動服務(wù)端后顯示出來的就是靜態(tài)文本了,這樣比較美觀。 上面函數(shù)意思為當(dāng)點擊靜態(tài)文本時,先獲取文本中的內(nèi)容,然后將其隱藏。再將編輯框顯示出來,設(shè)置編輯框中的內(nèi)容為開始獲取的靜態(tài)文本中內(nèi)容。這樣就可以和設(shè)置心情一樣的設(shè)置文本內(nèi)容了。這樣實現(xiàn)起來比較簡單,方便,無需彈出一個對話框設(shè)置。 設(shè)置好文本后,點擊編輯框以外的任何地方,都可以把內(nèi)容做更新。然后隱藏編輯框,顯示靜態(tài)文本。這樣就要建立一個系統(tǒng)響應(yīng)函數(shù),對 MouseClick 消息做一個捕獲。代碼見下: void CTcpseverDlg::OnLButtonDown UINT nFlags, CPoint point CWnd* wnd。 CString str。 wnd GetDlgItem IDC_MARK 。 wnd GetWindowText str 。 wnd ShowWindow SW_HIDE 。 wnd GetDlgItem IDC_MARKST 。 wnd ShowWindow SW_SHOW 。 wnd SetWindowText str 。 CDialog::OnLButtonDown nFlags, point 。 該函數(shù)當(dāng)點擊對話框時會被系統(tǒng)自動調(diào)用,函數(shù)將編輯框中上的內(nèi)容設(shè)置到了靜態(tài)文本中,然后顯示靜態(tài)文本,隱藏了編輯框。有一個問題就是在初始化函數(shù)中為什么要將靜態(tài)文本的內(nèi)容復(fù)制到編輯框中呢?這個必須要復(fù)制的,不然在啟動程序后任何時候點擊對話框都會將靜態(tài)文本內(nèi)容置空。這個可以去 理解一下。 下圖顯示了點擊公告欄和圖片后的情況: 圖 9 修改資料效果圖 在服務(wù)器中有個” ”收縮符號,當(dāng)點擊它以及它所在位置的垂直方向時可以把右邊區(qū)域收縮起來。這樣可以去掉不是很關(guān)心的內(nèi)容。當(dāng)點擊后,側(cè)邊欄又顯示出” ”符號。再次點擊又會還原出來。 圖 10 精簡視圖 void CTcpseverDlg::OnShow // TODO: Add your control notification handler code here CString str。 static CRect rectLarge。 static CRect rectSmall。 CRect rectSeparate。 if GetWindowRect amp。rectLarge 。 GetDlgItem IDC_SEPARATE GetWindowRect amp。rectSeparate 。 。 。 。 。 if GetDlgItemText IDC_SHOW,str ,str \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n str \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 。 SetDlgItemText IDC_SHOW,str 。 SetWindowPos NULL,0,0, , ,SWP_NOMOVE|SWP_NOZORDER 。 else str \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 。 SetDlgItemText IDC_SHOW,str 。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1