<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > VS2005使用教程之窗口通訊的聊天應(yīng)用編程實(shí)現(xiàn)

          VS2005使用教程之窗口通訊的聊天應(yīng)用編程實(shí)現(xiàn)

          作者: 時(shí)間:2018-08-09 來源:網(wǎng)絡(luò) 收藏

          本文以Visual C++2015軟件為例編寫一個(gè)類似QQ聊天工具的程序。以基礎(chǔ)的windows編程開發(fā)知識(shí)、windows圖形窗口編程、基于TCP/IP協(xié)議的網(wǎng)絡(luò)編程原理與實(shí)現(xiàn)方法,多線程編程的運(yùn)用,再結(jié)合前面的實(shí)例為你詳解一個(gè)win窗口應(yīng)用程序應(yīng)該如何編寫的,需要注意事項(xiàng)有哪些?

          本文引用地址:http://www.ex-cimer.com/article/201808/385993.htm

          類QQ聊天工具程序開發(fā),原文引用如下:

          下面介紹一個(gè)綜合的例子:聊天程序。這是一個(gè)類似于QQ的聊天程序,為了簡(jiǎn)化起見,把服務(wù)器端程序和客戶端程序合二為一了。這個(gè)程序既是服務(wù)器程序,同時(shí)又是客戶端程序。

          首先先建立一個(gè)項(xiàng)目,點(diǎn)擊菜單“新建項(xiàng)目”,如下圖所示:


          將項(xiàng)目的類型設(shè)置為“Windows窗體應(yīng)用程序”,項(xiàng)目的名稱設(shè)置為“ChatDemo”,如下圖所示:


          項(xiàng)目建好后,首先在窗體中添加一個(gè)TextBox控件。在工具箱中點(diǎn)中“TextBox”控件,如下圖所示:


          在窗體中拖拉出一個(gè)TextBox,以后所有的聊天內(nèi)容就顯示在這個(gè)窗口里面。把它的名字設(shè)置為“ShowBox”,并且把它的 “Multiline”屬性設(shè)置為“True”,同時(shí)把它的“Scrollbar”屬性設(shè)置為“Vertical”(垂直滾行條),如下圖所示:


          將窗體的標(biāo)題設(shè)置為“聊天”,在“ShowBox”的下面添加一個(gè)名為“InputBox”的TextBox,用戶可以在這個(gè)輸入框里面輸入想說的話。另外再添加一個(gè)“發(fā)送”按鈕,用于發(fā)送想說的話,把這個(gè)按鈕命名為“SendTextButton”,如下圖所示:


          將顯示聊天內(nèi)容的控件的“TabIndex”屬性設(shè)置為“2”,這樣程序運(yùn)行時(shí)輸入的焦點(diǎn)就會(huì)定位于下面的輸入框里面,如下圖所示:


          程序的界面就完成了。

          下面是程序?qū)嶋H運(yùn)行時(shí)的截圖,下圖是服務(wù)器端的程序:




          關(guān)鍵詞: VS2005 教程 聊天應(yīng)用

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();