|
網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實(shí)現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計(jì)算機(jī)、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 Windows程序具有相對穩(wěn)定的結(jié)構(gòu),也就是說Windows程序是有一定的框架的,程序員要做的事情就是用特定的內(nèi)容來填充這個(gè)框架。 主函數(shù):就像C語言時(shí)程序的主函數(shù)main()的功能是一樣的,他代表了程序的入口。但是這個(gè)函數(shù)看上去比main()似乎繁的多,如果是第一次看見這個(gè)函數(shù)肯定會(huì)感覺一頭霧水,但是不要緊我們來看看這個(gè)函數(shù)各個(gè)參數(shù)的意義,(其實(shí)開始的時(shí)候完全可以不理會(huì)他們的意義)hInstance是本實(shí)例的句柄,句柄可以理解為操作系統(tǒng)管理使用我們的應(yīng)用程序的別名,它跟指針類似但又不同于指針,操作系統(tǒng)通過hInstance就可以找到我們現(xiàn)在的這個(gè)程序。hPrevInstance是前一個(gè)實(shí)例的句柄。 szCmdLine:是命令行參數(shù),iCmdShow是窗口的顯示方式,F(xiàn)在我們沒有必要清除每個(gè)參數(shù)的具體意義,在接下來的學(xué)習(xí)中我們用的最多的就是hInstance這個(gè)參數(shù),但也不多,而且我們使用vc++時(shí),無論有哪種程序生成方式這個(gè)函數(shù)一般都會(huì)自動(dòng)生成。 int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow) 消息處理函數(shù)其實(shí)是一個(gè)消息循環(huán),是一個(gè)回調(diào)函數(shù),什么是回調(diào)函數(shù)暫不管它,只管理解為,函數(shù)由你定義而不歸你調(diào)用,是由操作系統(tǒng)來調(diào)用的 LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) { switch(message) { case... case...//這些分支語句用來分別處理不同的消息 } return DefWindowProc(hwnd,message,wParam,lParam); /*這個(gè)函數(shù)是系統(tǒng)默認(rèn)的消息處理函數(shù),也就是說,我們的窗口程序的消息處理函數(shù)處理的只是我們感興趣的消息,即上面的case語句,對于其他的消息我們還是使用系統(tǒng)默認(rèn)的消息處理函數(shù)。我們的消息處理函數(shù)是要在我們的窗口主程序中登記的,登記為我們自定義的消息處理函數(shù)之后,系統(tǒng)的消息就有它來處理了。所以,在本函數(shù)的最后要使用該默認(rèn)函數(shù),否則其他的消息,本程序就無法處理了。 繼續(xù)來看程序的主函數(shù),它是程序的容器,程序的主窗體要在其中建立,程序的消息處理函數(shù)也要在其中設(shè)置。在主體函數(shù)中我們要做的就是兩件事,一件是注冊窗口類,另外一件是建立窗口。所謂注冊窗口類就是通過填寫一個(gè)WNDCLASS結(jié)構(gòu),我們的窗口就算基本成型,然后要向系統(tǒng)注冊。 客戶需要自己建立窗口,建立后會(huì)得到系統(tǒng)返回的窗口句柄(HWND),后繼的針對窗口的操作都針對句柄進(jìn)行。 1.注冊窗口類 建立窗口前,需要制定好這個(gè)窗口的相關(guān)屬性,最主要的就是將自己定義的消息處理函數(shù)與窗口關(guān)聯(lián),其他的屬性還包括:菜單、圖標(biāo)等等。 這個(gè)屬性指定步驟是通過指定"窗口類"來完成的。 對于自己建立的窗口,這個(gè)"窗口類"需要自己制定,也即自己填充一個(gè)WNDCLASS結(jié)構(gòu),然后向系統(tǒng)注冊。 對于一些特殊窗口,如按鈕等控件,他們的行為是系統(tǒng)制定好了的,所以不需要自己注冊,直接使用對應(yīng)的“窗口類”名稱就行了。 2.建立窗口 建立窗口時(shí),注冊的"窗口類"名稱作為參數(shù)傳入。 這樣,當(dāng)有針對該窗口的消息時(shí),將調(diào)用“窗口類”中指定的消息處理函數(shù),在其中得到處理。 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//消息處理函數(shù)的聲明,定義放在主函數(shù)后面 網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗(yàn)―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項(xiàng)技術(shù)都需要適時(shí)應(yīng)勢,對應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!