VisualC網(wǎng)絡(luò)編程案例實戰(zhàn)之FTP客戶端實現(xiàn)_第1頁
VisualC網(wǎng)絡(luò)編程案例實戰(zhàn)之FTP客戶端實現(xiàn)_第2頁
VisualC網(wǎng)絡(luò)編程案例實戰(zhàn)之FTP客戶端實現(xiàn)_第3頁
VisualC網(wǎng)絡(luò)編程案例實戰(zhàn)之FTP客戶端實現(xiàn)_第4頁
VisualC網(wǎng)絡(luò)編程案例實戰(zhàn)之FTP客戶端實現(xiàn)_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第章 客戶端實現(xiàn)之二 前面的章節(jié)實現(xiàn)過一個客戶端程序,那么為什么這里又要實現(xiàn)呢?區(qū)別有二,客戶端所基于的應(yīng)用程序框架不同,第章基于對話框,本章將基于開發(fā);開發(fā)時的精力分配不同,第章的精力主要集中在與服務(wù)器的“交流”上,本章將把這種底層的工作交給封裝的類來實現(xiàn),主要精力會集中在界面的美化上。 客戶端簡介 這節(jié)將會帶領(lǐng)大家快速了解下本章將要實現(xiàn)的客戶端的各種功能。包括:以樹形視圖瀏覽本地文件夾資源、列表方式顯示服務(wù)器上的文件資源、用過拖動文件的方式實現(xiàn)文件的上傳和下載。 樹形結(jié)構(gòu)的應(yīng)用 在主窗體的左側(cè)視圖中顯示選定本地文件夾內(nèi)的所有文件資源,結(jié)構(gòu)為樹形,可以動態(tài)的改變本地文件夾的選擇,如圖所示。前

2、方有加號說明路徑中還有子路徑,單擊加號打開此路徑,加號變減號,子文件將顯示在子樹中。鼠標(biāo)移過此視圖時樹子項會加亮顯示。圖標(biāo)表示文件夾、圖標(biāo)表示文件。圖. 本地文件夾資源顯示 列表結(jié)構(gòu)的應(yīng)用 在主窗體的右側(cè)視圖中,將以列表圖標(biāo)的形式顯示服務(wù)器下的所有文件資源,如圖所示。圖 服務(wù)器上文件資源 信息框的應(yīng)用 在主窗體的正中央有個信息的顯示框,是用于描述用戶的一些操作,如圖所示。圖 信息顯示框 浮動對話框的應(yīng)用 主程序的最頂端是用來填寫本地文件夾路徑和連接服務(wù)器的浮動對話框,如圖所示。圖 浮動對話框 那么,最后來看一下本章客戶端的全貌吧,如圖所示。圖 客戶端全貌 關(guān)鍵技術(shù)講解 這節(jié)主要介紹本章要用到的

3、所有關(guān)鍵技術(shù),包括如何制作浮動對話框,然后像工具欄一樣加到菜單之下;如何將客戶區(qū)分欄;如何實現(xiàn)對樹形和列表視圖項目的拖動。 我們創(chuàng)建的工程是基于的,命名為。在向?qū)У牡诓?,我們選擇基于類,如圖所示。圖 修改的基類 制作、使用浮動對話框 浮動對話框,顧名思義就是可以浮動在主窗體之上。制作方法如下: ()在資源視圖中插入對話框資源,修改為,修改屬性:去掉對話框的邊緣,將改為,如圖所示。圖 對話框?qū)傩栽O(shè)置 ()為對話框拖放控件,然后進(jìn)行設(shè)計,怎么好看怎么擺放吧!我的設(shè)計如圖所示。你們在前面見過了,但還是想讓大家看看,因為我增加了新內(nèi)容。圖 浮動對話框界面設(shè)計 ()在中添加一個浮動對話框的變量。 在的(

4、)成員函數(shù)中完成兩個任務(wù):去掉由向?qū)槲覀兲砑拥墓ぞ邫诤蜖顟B(tài)欄,它們影響到了我們程序的美觀;添加顯示我們剛才設(shè)計的對話框的代碼。 程序中去掉了工具欄和狀態(tài)欄的功能,所以你可以將代表兩個工具的對象、也注釋掉,它們就定義在類的頭文件中,如下: 不注釋掉也并不會影響程序的編譯執(zhí)行,讀者可自由處理。 通過調(diào)用類的成員函數(shù)(),裝載我們設(shè)計的對話框資源模版、創(chuàng)建對話框窗口、設(shè)置它的樣式,最后關(guān)聯(lián)窗口到對象上。函數(shù)原型如下: ( * , , , ); 參數(shù)含義如下: :指向裝載浮動對話框的父窗口的指針,我們直接使用了。 其它成員函數(shù)如()的使用很簡單,代碼中已經(jīng)加入了注釋,就不做詳解講解了。 那么,編譯運(yùn)

5、行程序就會發(fā)現(xiàn)工具欄、狀態(tài)欄消失了,取而代之的是我們自己設(shè)計的浮動對話框,用鼠標(biāo)嘗試拖動它,會有如圖所示效果。圖 拖動浮動對話框 你當(dāng)然可以任意移動它,甚至是單擊它上面的關(guān)閉按鈕來關(guān)閉它,不過關(guān)閉了以后就比較麻煩了,因為我們需要重新啟動程序來讓它再次顯示。本程序沒有實現(xiàn)再次顯示浮動窗口功能,讀者可以自己實現(xiàn)下。 客戶區(qū)的分割 我們需要將整個客戶區(qū)分割為個部分:用于顯示用戶操作的信息窗口、用于顯示本地文件夾資源的樹形視圖窗口和用于顯示服務(wù)器上文件資源的列表視圖窗口。效果如圖所示。圖 窗口分割效果圖 為類添加兩個成員變量,如下: 類提供了分割窗口的功能,就是一個窗口包含多個窗格。 為類添加虛函數(shù)(

6、)的實現(xiàn),程序編寫如下: 調(diào)用類的成員函數(shù)()創(chuàng)建靜態(tài)的分割窗口,函數(shù)原型如下: ( * , , , , ); 參數(shù)含義如下: :分割窗口的父框架窗口。 第一次分割窗口時,父窗口是框架,分割成行列。第二次分割窗口時,是嵌入在第一次分割的窗口中的,所以父窗口為,分割為行列,嵌套的窗口通過類的成員函數(shù)()獲得。 類的成員函數(shù)()為靜態(tài)分割窗口創(chuàng)建窗格,原型如下: ( , , * , , * ); 參數(shù)含義如下: :指定放置新視圖的窗口行。 調(diào)用類的成員函數(shù)()和()分別設(shè)置分割窗口的行高取值范圍、列寬取值范圍。函數(shù)原型如下: ( , , ); ( , , ); 參數(shù)含義如下: 、:指定分割窗口的行

7、、列,用于定位。 在函數(shù)()中,我們將個視圖、和指定到相應(yīng)的分割窗格中。前兩個是我們利用類向?qū)砑拥男骂?,分別基于類和,最后一個是我們創(chuàng)建工程時由向?qū)槲覀儎?chuàng)建的視圖類,基于類。至此客戶區(qū)分割的操作代碼填加完畢。 樹形視圖項目拖動效果 我們可以通過捕獲個事件來添加拖動效果的代碼,他們是:鼠標(biāo)左鍵選中項目并且開始拖動、鼠標(biāo)移動和鼠標(biāo)左鍵抬起。.選中視圖項 我們需要用類向?qū)砑右粋€新類,基于,如圖所示。圖 添加新類 在類的實現(xiàn)文件,添加文件包含指令如下: 在利用類向?qū)樗砑雍瘮?shù)(),如圖所示。圖 為類添加消息響應(yīng) 為函數(shù)()添加代碼,如下: 函數(shù)()中的變量是類的公有成員變量,定義如下: 成員變

8、量在類的構(gòu)造函數(shù)初始化如下: 類的成員函數(shù)()返回樹視圖控件的引用。函數(shù)()中結(jié)構(gòu)定義如下: ; ; ; ; ; ; 參數(shù)含義如下: :另一個包含通知消息信息的結(jié)構(gòu)。 我們要從這個結(jié)構(gòu)中獲取兩個信息:和。前者是個結(jié)構(gòu),用來指定或返回樹視圖項的屬性。結(jié)構(gòu)的字段放的是這個結(jié)構(gòu)指向樹視圖項的句柄,被保存在了變量中。 然后用到類的個成員函數(shù)和的個成員函數(shù)完成圖像拖動的準(zhǔn)備工作,它們是:()用來為指定的樹視圖項創(chuàng)建拖動時的位圖、()標(biāo)志拖動位圖操作的開始、()用來在拖動操作期間在指定的位置顯示位圖和鎖定更新。 函數(shù)()的原型如下: ( , ); 參數(shù)含義如下: :索引號從開始的位圖號,用來指定位圖。 函

9、數(shù)()的原型如下: ( * , ); 參數(shù)含義如下: :指向擁有拖動圖像的窗口指針。若參數(shù)賦值為,這個函數(shù)拖動圖像的坐標(biāo)是相對于桌面窗口的,即屏幕坐標(biāo)的左上角。 所以我們在使用函數(shù)()的時候,用到類的成員函數(shù)(),將給定的客戶區(qū)點(diǎn)坐標(biāo)轉(zhuǎn)換為屏幕點(diǎn)坐標(biāo)。最后我們同樣調(diào)用類的成員函數(shù)(),以后不管鼠標(biāo)的位置在哪里,所有的鼠標(biāo)后續(xù)輸入都會被送到當(dāng)前的窗口處理。 至此,鼠標(biāo)左鍵選中項目并且開始拖動事件的捕捉和處理代碼填寫和解釋完畢。.圖像隨鼠標(biāo)移動 利用類向?qū)轭愄砑酉乱粋€事件:鼠標(biāo)移動。如圖所示。圖 添加鼠標(biāo)移動事件 為函數(shù)()添加代碼,如下: 函數(shù)()首先調(diào)用(),獲取指向當(dāng)前程序主框架的指針,保

10、存在變量中,通過此變量調(diào)用其成員變量的成員函數(shù),既類的成員函數(shù)(),得到指定行列窗格的指針。這里獲取的是列表視圖窗格的指針,保存在變量中。 我們要在類中添加一個自定義的成員函數(shù)(),如圖所示。圖 添加自定義的成員函數(shù) 添加如下很簡單的一段代碼就行: 簡單的封裝了兩個函數(shù),分別完成功能:獲取樹視圖窗口的矩形大小,即窗口大小。然后將坐標(biāo)轉(zhuǎn)換為相對屏幕的坐標(biāo)值。同樣需要在類中添加這樣一個自定義的函數(shù)(),代碼一樣,功能當(dāng)然也一樣,如下: 函數(shù)()接下來完成的功能是:創(chuàng)建兩個“區(qū)域”。實例化兩個類的對象和,調(diào)用類的成員函數(shù)()創(chuàng)建兩個矩形區(qū)域,分別覆蓋了樹形結(jié)構(gòu)視圖、列表結(jié)構(gòu)視圖。 函數(shù)()的原型如下

11、: ( , , , ); 參數(shù)含義如下: 、:指定矩形區(qū)域左上角點(diǎn)的坐標(biāo)位置。 函數(shù)()最后會判斷:鼠標(biāo)是否處于拖動的狀態(tài),是在樹形結(jié)構(gòu)視圖區(qū)域或者列表結(jié)構(gòu)視圖區(qū)域中嗎.通過類的成員函數(shù)()判斷指定的點(diǎn)是否在指定的區(qū)域范圍內(nèi)。 在指定的區(qū)域范圍內(nèi),并且當(dāng)前正處在拖動的狀態(tài)下時,就該調(diào)用拖動操作的第個函數(shù)了,它是類的成員函數(shù)(),原型如下: ( ); 是拖動操作時,鼠標(biāo)新的位置點(diǎn)。這個函數(shù)移動圖像到指定的新的坐標(biāo)點(diǎn),也就是圖像會隨著鼠標(biāo)移動效果的展現(xiàn)。 若是不滿足剛才的判斷條件呢?是不是就什么都不做了?當(dāng)然不是,還有另一個有趣的效果需要實現(xiàn)。我們通過類的成員函數(shù)()判斷:鼠標(biāo)點(diǎn)相對樹視圖控件的位

12、置,若是在控件內(nèi)部的話,會返回指定位置樹視圖項的句柄,當(dāng)指定位置不在在任何一個樹視圖項上,則返回。 即我們的鼠標(biāo)在樹視圖窗口上“劃過”,相應(yīng)的樹視圖項就會有“被選中”的效果。通過調(diào)用類的成員函數(shù)(),重繪樹視圖相應(yīng)項,以一種表明樹視圖項被選中的樣式,參數(shù)是樹視圖項的句柄就行。 那么,鼠標(biāo)移動圖像的代碼也填寫和解釋完畢了。.鼠標(biāo)圖像釋放 利用類向?qū)轭愄砑幼詈笠粋€事件:鼠標(biāo)左鍵彈起。如圖所示。圖 添加鼠標(biāo)左鍵彈起事件 為函數(shù)()添加代碼,如下: 函數(shù)()會調(diào)用()獲取本程序主框架的指針,并保存在變量中,用通過其數(shù)據(jù)成員獲取列表視圖窗格的指針。 當(dāng)確定鼠標(biāo)是在拖動圖像的時候左鍵才彈起的,即為時,我

13、們用最后個函數(shù)來完成拖動操作。它們是類的成員函數(shù):()用來解鎖參數(shù)指定的窗口、隱藏圖像、允許窗口更新;()用來結(jié)束拖動操作。函數(shù)原型如下: ( * ); ( ); 通過函數(shù)()釋放鼠標(biāo)的捕獲。然后就是我們應(yīng)該很熟悉的操作了,獲取列表視圖矩形大小、創(chuàng)建覆蓋列表視圖的區(qū)域、判斷鼠標(biāo)點(diǎn)移動到了創(chuàng)建的區(qū)域范圍之內(nèi)時,添加任意的操作。 列表視圖項目拖動效果 與樹形視圖項目拖動效果類似,我們可以通過捕獲個事件來添加拖動效果的代碼,他們是:鼠標(biāo)左鍵選中項目并且開始拖動、鼠標(biāo)移動和鼠標(biāo)左鍵抬起。 首先需要在類的實現(xiàn)文件頭部添加文件包含指令如下: 在類的頭文件添加類的聲明,代碼如下: ;.選中視圖項 利用類向?qū)?/p>

14、為類添加函數(shù)(),如圖所示。圖 為類添加消息響應(yīng) 為函數(shù)()添加代碼,如下: 函數(shù)()中的變量是類的公有成員變量,定義如下: 成員變量在類的構(gòu)造函數(shù)初始化如下: 函數(shù)()會調(diào)用類的個成員函數(shù):()和()。 ()用來檢索滿足指定條件的列表項,函數(shù)原型如下: ( , ) ; 參數(shù)含義如下: :開始檢索時起始列表項的索引,若為將會匹配滿足所指條件的第一個列表項,所指定的列表項不會被檢索。 ()用來為指定的列表項創(chuàng)建拖動圖像,函數(shù)原型如下: * ( , ); 參數(shù)含義如下: :要創(chuàng)建拖動圖像的列表項的索引。 函數(shù)()剩下的操作,我們應(yīng)該很熟悉了才對,包括:調(diào)用類的成員函數(shù)(),標(biāo)志開始拖動圖像;調(diào)用類

15、的成員函數(shù)(),鎖定視圖的更新;調(diào)用類的成員函數(shù)()捕獲鼠標(biāo)后續(xù)的所有事件。.圖像隨鼠標(biāo)移動 利用類向?qū)轭愄砑酉乱粋€事件:鼠標(biāo)移動。如圖所示。圖 添加鼠標(biāo)移動事件 為函數(shù)()添加代碼,如下: 函數(shù)()的實現(xiàn)過程同樣包括:獲取樹形視圖、列表視圖窗口矩形大小,創(chuàng)建覆蓋樹形視圖、列表視圖窗口的區(qū)域,檢測鼠標(biāo)處于拖動圖像狀態(tài),而且在樹形視圖或列表視圖的區(qū)域范圍內(nèi),調(diào)用類的成員函數(shù)()拖動圖像。.鼠標(biāo)圖像釋放 利用類向?qū)轭愄砑幼詈笠粋€事件:鼠標(biāo)左鍵彈起。如圖所示。圖 添加鼠標(biāo)左鍵彈起事件 為函數(shù)()添加代碼,如下: 函數(shù)()實現(xiàn)的功能包括:解鎖拖動窗口、結(jié)束拖動操作、釋放鼠標(biāo)的捕獲、獲取樹視圖矩形大

16、小、創(chuàng)建覆蓋樹視圖的區(qū)域、判定鼠標(biāo)點(diǎn)在樹視圖區(qū)域之內(nèi)。 實現(xiàn)客戶端 這個實例是通過 來實現(xiàn)客戶端的,因此無需考慮底層的通信協(xié)議和數(shù)據(jù)傳輸工作,所以我們把近一半的精力用在了華麗的程序界面上。 類介紹 提供的類是對 的封裝,為我們提供了更加方便的編程接口。主要用到兩個類:和。類 用來創(chuàng)建或者初始化一個或多個同步的網(wǎng)絡(luò)會話。它的構(gòu)造函數(shù)原型如下: ( , , , , , ); 我們的實例程序直接使用了所有的默認(rèn)參數(shù)值。 當(dāng)我們要在服務(wù)器上執(zhí)行指定的服務(wù),如服務(wù),必須要先建立連接,用到的成員函數(shù)是()。函數(shù)原型如下: * ( , , , , ); 參數(shù)含義如下: :包含服務(wù)器地址的字符串。 :為這個會

17、話指定被動或主動的模式,默認(rèn)為主動模式。 返回一個指向類的指針。類 此類主要用于管理服務(wù)連接,并允許用戶直接操作服務(wù)器目錄和文件。我們主要用到了此類的個成員函數(shù):()用來上傳文件,()用來下載文件。函數(shù)原型如下: ( , , , ); 參數(shù)含義如下: :包含要上傳文件路徑的字符串。 依據(jù)返回值判定上傳操作是否成功。函數(shù)()的原型如下: ( , , , , , ); 參數(shù)含義如下: :包含要接收服務(wù)器上文件路徑的字符串。 讀者可以依據(jù)函數(shù)()的返回值來判定下載操作是否成功。 服務(wù)器操作 通過浮動對話框獲取用戶輸入的信息,調(diào)用類的成員連接、登錄服務(wù)器,最后將服務(wù)器根目錄下的所有文件顯示在列表視圖中

18、。浮動對話框如圖所示。圖 浮動對話框 我們需要在類中手動添加“連接服務(wù)器”和“確定”按鈕的消息響應(yīng)函數(shù)()和(),步驟如下: ()在類頭文件添加文件包含指令,用來支持類,如下: 為了使用 在類中添加成員變量和成員函數(shù),如下: ()在類的實現(xiàn)文件添加文件包含指令,用來支持個分割窗口視圖,如下: 個窗體的頭文件 添加消息映射,即控件與處理事件函數(shù)建立聯(lián)系,如下: 添加了個按鈕單擊事件的消息映射。類的構(gòu)造函數(shù)如下: 可以看到,構(gòu)造函數(shù)只是初始化了一些成員變量。.連接服務(wù)器 編寫按鈕“連接服務(wù)器”按鈕的消息響應(yīng)函數(shù)(),如下: 響應(yīng)函數(shù)()功能的實現(xiàn)步驟包括:獲取浮動對話框上由用戶填寫的登錄信息,保存

19、在個字符串變量中,他們是、和,調(diào)用類的成員函數(shù)()連接服務(wù)器,代碼中對異常的情況做了一些處理,代碼包含在和的語句塊中。 為類添加成員函數(shù)(),用來遍歷服務(wù)器根目錄下的所有文件,代碼編寫如下: 函數(shù)()使用了類,用來輔助服務(wù)器上網(wǎng)絡(luò)文件的檢索。主要調(diào)用了此類的個成員函數(shù): ()用來查找服務(wù)器上指定的文件。 通過循環(huán)將滿足條件的文件全部插入到列表視圖中。用類的成員函數(shù)()實現(xiàn),原型如下: ( , , ); 參數(shù)含義如下: :要將列表項插入索引視圖的位置。 類我們提到過,是我們自己新建的基于的類。為此類添加成員函數(shù)(),用來將指定的字符串顯示在信息顯示窗格中,代碼如下: 函數(shù)()中的是類的成員變量,

20、在類的構(gòu)造函數(shù)中被初始化,代碼如下: 構(gòu)造函數(shù)調(diào)用了類的成員函數(shù)(),用來獲取指向編輯視圖的指針,然后保存在成員變量中。 函數(shù)()的功能實現(xiàn)過程:獲取當(dāng)前編輯視圖窗格的文本內(nèi)容,依據(jù)之前的內(nèi)容再添加新的文本信息。函數(shù)()還使用到類繼承自類的個成員函數(shù): ():獲取窗口的文本,并保存在傳入的參數(shù)字符串中。 用于連接服務(wù)器的函數(shù)(),在連接到服務(wù)器以后會:改變自身按鈕的文本為“斷開連接”、將浮動對話框上的文本框設(shè)置為禁用。.斷開連接 當(dāng)程序與服務(wù)器處于連接狀態(tài)時,我們再次單擊“斷開連接”按鈕時,將關(guān)閉與服務(wù)器的連接,如下: 函數(shù)()調(diào)用到了列表視圖的成員函數(shù)(),用來清空列表視圖的所有列表項,函數(shù)

21、()的實現(xiàn)如下: 很簡單的函數(shù)封裝,只是調(diào)用了類的成員函數(shù)(),甚至連參數(shù)都不需要。 函數(shù)()的后續(xù)操作包括:調(diào)用類的成員函數(shù)()關(guān)閉與的連接,在信息顯示框中顯示文本信息“斷開與服務(wù)器的連接”,改變“斷開連接”按鈕的文本為“連接服務(wù)器”,最后將浮動對話框中被禁用的文本框設(shè)置為可用。 遍歷本地文件夾資源 用戶需要手動填寫“文件夾路徑”文本框,在單擊“確定”按鈕,樹結(jié)構(gòu)視圖中將會顯示出該文件夾下的所有文件資源。 為浮動對話框的按鈕“確定”添加消息響應(yīng)函數(shù)(),功能代碼編寫如下: 函數(shù)()中,調(diào)用到類的成員函數(shù)(),用來清除樹結(jié)構(gòu)視圖中的所有項,實現(xiàn)如下: 同樣是很簡單的函數(shù)封裝,只是調(diào)用了類的成員

22、函數(shù)(),甚至連參數(shù)都不需要。 類的成員函數(shù)(),用來實現(xiàn)遍歷文件夾中文件資源,并按結(jié)構(gòu)插入到樹中,實現(xiàn)代碼如下: 函數(shù)()的功能實現(xiàn)過程:構(gòu)造遍歷文件的字符串,調(diào)用類的個成員函數(shù): ()用來查找本地指定路徑下的文件資源。 ()用來確定找到的文件的文件名是否包含“.”或“.”,它們其實就是目錄。 ()用來確定找到的文件是否是目錄。 類的成員函數(shù)()用來向樹結(jié)構(gòu)視圖中添加項,函數(shù)原型如下: ( , , , , ); 參數(shù)含義如下: :插入項的文本指針。 樹結(jié)構(gòu)視圖關(guān)聯(lián)的圖像列表是在函數(shù)()中確定的,代碼如下: 我們當(dāng)然得先在資源編輯器中插入個圖標(biāo)資源,一個用來表示文件,一個用來表示文件夾,如圖所

23、示。圖 自己制作的小圖標(biāo) 類的成員函數(shù)(),將加載指定的圖標(biāo)資源,返回圖標(biāo)的句柄。創(chuàng)建圖標(biāo)列表調(diào)用到類的成員函數(shù)(),函數(shù)原型如下: ( , , , , ); 參數(shù)含義如下: 、:圖像的長寬值,以像素為單位。 調(diào)用類的成員函數(shù)(),將指定的圖標(biāo)句柄加入到圖像列表中,調(diào)用類的成員函數(shù)(),用來關(guān)聯(lián)樹結(jié)構(gòu)視圖與圖像列表,函數(shù)原型如下: * ( *, ); 參數(shù)含義如下: :指向圖像列表的指針。若為,樹視圖的所有圖標(biāo)將會被移除。 另外,成功操作的圖結(jié)構(gòu)視圖的顯示效果會是圖所示的樣子。圖 樹結(jié)構(gòu)視圖的效果 要想改變顯示效果,可以在類中重載函數(shù)(),用來改變樹結(jié)構(gòu)視圖的樣式,代碼如下: 改變了樣式以后顯示的效果將會是圖所示的樣子。圖 樹結(jié)構(gòu)視圖的效果 拖動文件實現(xiàn)上傳 文件上傳到服務(wù)器,只需要調(diào)用類的成員函數(shù)()就可以了,但是需要準(zhǔn)備此函數(shù)的參數(shù):要上傳

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論