delphi中實(shí)現(xiàn)控件的深度投影及陰影效果

delphi中實(shí)現(xiàn)控件的深度投影及陰影效果

ID:11454515

大小:32.00 KB

頁(yè)數(shù):3頁(yè)

時(shí)間:2018-07-12

delphi中實(shí)現(xiàn)控件的深度投影及陰影效果_第1頁(yè)
delphi中實(shí)現(xiàn)控件的深度投影及陰影效果_第2頁(yè)
delphi中實(shí)現(xiàn)控件的深度投影及陰影效果_第3頁(yè)
資源描述:

《delphi中實(shí)現(xiàn)控件的深度投影及陰影效果》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、delphi中實(shí)現(xiàn)控件的深度投影和陰影效果在WINDOWS應(yīng)用程序的窗口及其窗口內(nèi)的按鈕等控件,其本身都具有立體感效果,特別是在WINDOWS95系統(tǒng)下DELPHI程序設(shè)計(jì)中,立體效果更加完善,程序界面尤如真實(shí)物體的存在。盡管如此,它還是不能完全滿足所有場(chǎng)合的程序設(shè)計(jì)需要,比如你要使一個(gè)控件具有一個(gè)陰影效果,或者使一個(gè)控件顯示出深度投影效果,就必須依靠其它程序設(shè)計(jì)手段。這里有一個(gè)可利用的CANVAS類,它可以輕松的完成這些特殊效果程序界面的繪制工作。  CANVAS(畫(huà)布)是DELPHI中為某些控件所定義的一個(gè)類,它允許在控件表面進(jìn)行靈活的繪圖操作或信息顯

2、示,并且適用于多種控件,如FROM、IMAGE、FILELISTBOX等,為美化程序界面提供了非常方便的方法;CANVAS具有多種屬性并支持多種操作命令,可以實(shí)現(xiàn)在指定的對(duì)象上畫(huà)點(diǎn)、畫(huà)線、畫(huà)多邊形、畫(huà)扇形、畫(huà)圓、定義畫(huà)筆特性、輸出各種字符串等多種功能。控件的陰影及投影效果的形成,基本原理就是在利用該控件的父控件比如FORM或者其它容器控件的CANVAS,在該控件的周圍適當(dāng)處填加圖像,通過(guò)線條及顏色的合理搭配,使控件與周圍的圖像融為一體,形成特殊的視覺(jué)效果。所需要的CANVAS命令如下:  form1.canvas.pen.width:定義畫(huà)筆的寬度  f

3、orm1.canvas.pen.color:定義畫(huà)筆的顏色  form1.canvas.moveto:定義畫(huà)線起點(diǎn)坐標(biāo)  form1.canvas.lineto:定義畫(huà)線終點(diǎn)坐標(biāo)  具體操作時(shí)需要根據(jù)被修飾控件的TOP、LEFT、WIDTH、HEIGHT屬性,確定需要畫(huà)線的起點(diǎn)和終點(diǎn)坐標(biāo),這樣操作無(wú)論被修飾控件位置及尺寸如何變化,都可以保證投影及陰影效果完美的實(shí)現(xiàn)?! ∠旅媸且粋€(gè)簡(jiǎn)單的演示程序,在窗體中安放三個(gè)命令按鈕控件Button1、Button2、Button3,然后輸入下面.PAS文件中的相應(yīng)代碼,程序運(yùn)行之后按下命令按鈕2,則為按鈕1增加投影效果

4、,按下命令按鈕3為按鈕1增加陰影效果,按下按鈕1則程序結(jié)束。上述方法可靈活應(yīng)用在DELPHI程序界面設(shè)計(jì)之中,實(shí)現(xiàn)一些屏幕特技效果,會(huì)極大增強(qiáng)程序工作界面的生動(dòng)性。其中有一點(diǎn)需要注意,當(dāng)程序窗口發(fā)生變化時(shí)(最大化或最小化),其投影及陰影效果可能會(huì)被破壞,此時(shí)需要重畫(huà)以保證程序界面的完整性,所以在程序中應(yīng)該適當(dāng)安排窗口變化監(jiān)視功能?! 〕绦蛟?86機(jī)、WINDOWS95中文版、DELPHI2.0環(huán)境下調(diào)試通過(guò),附.PAS文件內(nèi)容?! nitcan;  interface  uses  Windows,Messages,SysUtils,Classes,Gr

5、aphics,Controls,F(xiàn)orms,Dialogs,StdCtrls;  type  TForm1=class(TForm)  Button1:TButton;Button2:TButton;Button3:TButton;  procedureButton2Click(Sender:TObject);  procedureButton3Click(Sender:TObject);  procedureButton1Click(Sender:TObject);  procedureFormCreate(Sender:TObject);  priva

6、te??????{Privatedeclarations}  public??????{Publicdeclarations}  end;  var  Form1:TForm1;  x,y,i:integer;  implementation  {$R*.DFM} ?。队靶Ч男纬桑 rocedureTForm1.Button2Click(Sender:TObject);  begin  form1.canvas.pen.width:=1;  fori=0to8do  begin  form1.canvas.pen.color:=$00a0a0a0;

7、  form1.canvas.moveto(Button1.left+Button1.width+x,Button1.top+y);  form1.canvas.lineto(Button1.left+Button1.width+x,Button1.top+button1.height+y);  form1.canvas.pen.color:=$00606060;  form1.canvas.moveto(Button1.left+x,Button1.top+Button1.height+y);  form1.canvas.lineto(Button1.l

8、eft+Button1.width+x,Button1.top+b

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。