![使用VisualC制作可伸縮個性化窗體_第1頁](http://file4.renrendoc.com/view/7a626ceabc66d2b0a94e994cb1e49226/7a626ceabc66d2b0a94e994cb1e492261.gif)
![使用VisualC制作可伸縮個性化窗體_第2頁](http://file4.renrendoc.com/view/7a626ceabc66d2b0a94e994cb1e49226/7a626ceabc66d2b0a94e994cb1e492262.gif)
![使用VisualC制作可伸縮個性化窗體_第3頁](http://file4.renrendoc.com/view/7a626ceabc66d2b0a94e994cb1e49226/7a626ceabc66d2b0a94e994cb1e492263.gif)
![使用VisualC制作可伸縮個性化窗體_第4頁](http://file4.renrendoc.com/view/7a626ceabc66d2b0a94e994cb1e49226/7a626ceabc66d2b0a94e994cb1e492264.gif)
![使用VisualC制作可伸縮個性化窗體_第5頁](http://file4.renrendoc.com/view/7a626ceabc66d2b0a94e994cb1e49226/7a626ceabc66d2b0a94e994cb1e492265.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、誰都希望自己的應用程序能讓人留下一個深刻的印象,讓自己的程序窗體有一件與眾不同的外衣是一個好辦法。試想:在一大堆的普通窗口中突然跳出一個很酷的界面,一定能讓人眼睛亮進而產(chǎn)生興趣的。在,中如何定制可伸縮個性化窗口早就不是什么秘密了,已經(jīng)有了大量相關(guān)的文章進行介紹,無非都是如何調(diào)用系統(tǒng)之類的方法,但是在中調(diào)用卻相對比較麻煩,所以使用制作個性化窗體的文章也有一些,一般都是使用透明背景加圖片的方式,所以不能移動任意放大縮小窗體。那有沒有不需要調(diào)用系統(tǒng)的方法來實現(xiàn)可伸縮的個性化窗體的辦法呢?當然有,提供了一套非常強大的系統(tǒng)類庫,我們下面就要做一個使用純打造的可伸縮個性化窗體。我們需要將窗體所有的皮膚全部
2、換成我們自己定義的,包括標題欄,邊框和系統(tǒng)按紐等,所以我們首先需要定做一套自己的皮膚圖形文件。因為窗體是可伸縮的,所以我們不能簡單的取一整幅圖片來作為窗體皮膚,而是根據(jù)需要先將圖片切割為不同的部分,一般來說,有以下圖示幾大部分(紅線為切割線):地址我的電腦(C勒轉(zhuǎn)到!.文件(Z)編輯(1)查看匹收藏工眞(1)幫助01)在這合計算機上存諸的文件車地磁蠱口:)有可菩動存詩的設備0T虜戶擔索色文件夾O;盧帝的文禍WARCRAFTIII(E:)延拓2龍口常嚴1托仃亂_!共拿文檔根據(jù)方位,比如將圖片各部分命名為:,e_,RTiogph_L,eTfop_Mi,dTdolpe_R,iSgyhsButt,oS
3、ny_sMBiuntt,on_o等。注意,有些圖片是可以伸縮的地方,比如等處的圖片可以只是一小塊,以后需要進行重復貼圖。而有些固定大小的圖片,m等以后只用貼一次,實際應用的時候要注意區(qū)分。采用以上原則,你便可以制作皮膚圖片,圖示如下:設置中,將窗體的屬性設置為(無邊框樣式),如下圖所示:Bottom_Left.bmpBottom_Middle.bmpBottom_Right.bmpMiddle_Left.bmp設置中,將窗體的屬性設置為(無邊框樣式),如下圖所示:設置中,將窗體的屬性設置為(無邊框樣式),如下圖所示:然后可以將這些圖片放到控件或資源文件中供程序調(diào)用。接下來,我們使用新建一個應用
4、程序的項目,在窗體的屬性IS司-ofrsiWCtDES咻習專cs設計n|逅我逐逅我逐左捽尋黑爭gu押尋觀捽尋觀捽尋觀捽尋觀捽尋觀捽口$;叢賽叢賽叢賽叢賽叢賽叢賽叢菩技總賽叢賽叢賽叢賽叢賽叢賽叢賽叢賽叢賽接瓷”口定義一個資源管理器:然后使用以下的方法在的構(gòu)造函數(shù)中將圖片取出來(資源文件名為Skin.re)s:ourcesrm=newResourceManager(SkinWiAssembly.GetExecutingAssembly();Bottom_Left=(Bitmap)rm.GetObje(其它的圖片也按照此方法取)重載的事件:/手工畫窗體的各個部畫左邊框畫下邊框畫右邊框畫左下角畫右下角
5、畫標題欄左邊畫標題欄右邊畫標題欄中間畫系統(tǒng)按紐以下是上述畫皮膚方法的具體實現(xiàn)部分,我只舉一個畫左邊框的代碼示例,其它的部分請讀者舉一返三:衣服穿上了,現(xiàn)在我們的程序就有了不同的外觀:看上去已經(jīng)很酷了,不過只是花架子,因為邊框,標題欄,系統(tǒng)按紐都是我們自己畫上去的假的邊框,標題欄和系統(tǒng)按紐,所以這個窗體既不能移動也不能自由的放大縮小,點關(guān)閉都沒用。以前我們寫程序從來都不需要關(guān)心這個的,這些都是窗體的基本功能呀?沒有從來都沒有想到這個竟然還會是個問題吧?怎么辦呢?答案就是我們自己來做,不過會比較麻煩,因為取消掉了邊框,所以不會幫你發(fā)出系統(tǒng)事件,你捕捉不到系統(tǒng)發(fā)生了什么事情的話,就沒有辦法寫下響應代
6、碼,所以我們要自己檢測鼠標的坐標,并根據(jù)鼠標的動作,自己來發(fā)出事件消息,然后進行響應。首先我們先定義出一些響應事件的代碼,我定義了一個抽象的基類,用來表示所有的鼠標事件,它有一個抽象方法:然后再來定義出它的各個派生類來表示出具體每個鼠標事件響應的代碼。面是一個向右拉伸窗口事件的代碼響應:非常簡單和容易理解,我就不再贅述,其它的各個事件也都一樣簡單,這里也不給出所有事件的實現(xiàn)代碼,只是列舉一下還需要實現(xiàn)的代碼響應類::拉伸左邊框:拉伸下邊框:拉伸上邊框:拉伸左上角:拉伸右上角:拉伸左下角:拉伸右下角:鼠標拖動鼠標拖動同樣也很簡單,不過卻稍不同于窗口的縮放拉伸,這里舉出它的實現(xiàn)代碼接下來我們開始編寫發(fā)出事件的代碼,先定義幾個變量:邊框和標題欄的大小保存鼠標的臨時坐標鼠標的事件響應對象然后在的事件中記錄下鼠標的當前坐標:附:為然后再根據(jù)鼠標的坐標定義出事件響應對象:/鼠標點擊左上邊框當然有的事件也可以直接響應:/鼠標點擊系統(tǒng)關(guān)閉按紐大部分的事件響應實際上是在事件中完成的:/注意坐標是改變鼠標的指針形狀執(zhí)行時間響應這個靜態(tài)變量給出的,它的值為鼠標在桌面上的全局坐標給出每個不同部位的鼠標的指針形狀:最后在事件中將變量釋放掉:為了更加逼真,還可以加上標題欄的雙擊最大化或者還原的事件:防止窗體被縮小成一個點,最好給窗口的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版?zhèn)€人二手房交易合同(含車位使用權(quán))2篇
- 銷售活動安全管理方案
- 老舊小區(qū)水管裝修方案
- 二零二五版新型土地廠房產(chǎn)權(quán)交易合同3篇
- 二零二五版協(xié)議離婚子女撫養(yǎng)權(quán)糾紛解決合同3篇
- 二零二五年度個人信托合同范本
- 透平機拆除施工方案
- 二零二五年度二手房全款買賣合同電子版范本
- 安徽防滑塑膠地板施工方案
- 二零二五版文化產(chǎn)業(yè)股權(quán)委托投資管理合同3篇
- 部編版五年級語文下冊第七單元大單元教學設計
- 社區(qū)獲得性肺炎護理查房內(nèi)科
- 淺談提高中學生歷史學習興趣的策略
- 藥品儲存養(yǎng)護知識大全
- 新版藥品批發(fā)企業(yè)質(zhì)量管理體系文件大全
- 增值稅專用發(fā)票樣本
- 項目管理實施規(guī)劃-無錫萬象城
- 浙大一院之江院區(qū)就診指南
- 離婚協(xié)議書電子版下載
- 相似三角形判定專項練習30題(有答案)
- 2023學年完整公開課版mydreamjob作文教學
評論
0/150
提交評論