用Delphi7 0實現漂亮的漢字視窗

2021-03-31 20:01:06 字數 1312 閱讀 2776

在視覺化開發的時代,窗體是絕大部分應用程式的核心,但是開發者也許已對windows一成不變的方形窗體感到厭煩。其實巧妙地使用api函式即可實現漢字形狀的窗體。 本文的例項執行後將顯示乙個由「電腦報」三個漢字作為外形的窗體。當然你還可以利用本期講的方法實現更有個性的漢字視窗。

設計思路

1使用beginpath和endpath函式為窗體定義路徑。

2用pathtoregion將路徑轉換為region資料。

3呼叫setwindowrgn按路徑繪製窗體。

4由於不規則窗體無系統選單,因此程式中必須有關閉窗體的**。

實現步驟

啟動delphi7,新建專案。前述的api函式在delphi中均可直接呼叫,因此使用者不需要宣告,可直接輸入下面的控制項事件**。

//窗體建立事件

procedure tform1.formcreatesender tobject

varrgnhrgn

begin

//設定文字顏色為紅色

form1.color=clred

//開始設定路徑,參考api函式宣告①

beginpathcanvas.handle

//設定背景為透明,參考api函式宣告②

setbkmodecanvas.handletranspa

rent

//設定字型

canvas.font.name ='宋體'

//設定字型大小

canvas.font.size=100

//將漢字「電腦報」設定為窗體形狀路徑

canvas.textout1515'電腦報'

//結束設定路徑,參考api函式宣告③,完成設計思路(1)

endpathcanvas.handle

//將路徑轉換至區域,參考api函式宣告④,完成設計思路(2)

rgn=pathtoregioncanvas.handle

//改變窗體形狀,參考api函式宣告⑤,完成設計思路(3)

setwindowrgnhandlergntrue

end

//滑鼠按下的事件完成,進行設計思路(4)

procedure tform1.formmousedownsender tobject button tmousebutton shift   tshiftstate x y integer

begin

//如使用者單擊右鍵,則結束程式執行

if button=mbright then

close

end

在Delphi7 0下安裝DSPack

一 廢話幾句 從去年年底起,有幸也轉到了directshow方面開發。在論壇中也可以為一些初學者解答一些初級問題了 如果是win2k,安裝之前,必須先安裝directx9.0 dspack2.3.4預設支援directx9.0 二 在delphi7.0下安裝dspack 又是廢話,原本在dspack...

Delphi7 0自帶Indy 9基礎介紹

indy是阻塞式 blocking 的 當你使用winsock開發網路應用程式時,從socket中讀取資料或者向socket寫入資料都是非同步發生的,這樣就不會阻斷程式中其它 的執行。在收到資料時,winsock會向應用程式傳送相應的訊息。這種訪問方式被稱作非阻塞式連線,它要求你對事件作出響應,設定...

突破Delphi 7 0程式設計例項五十講 pdg格式

內容簡介 本書融合了在windows下利用delphi 7.0開發應用程式的理論和實踐,全面而深入地介紹了利用delphi 7.0開發應用程式的常用方法和技巧。內容包括使用者介面設計 圖形影象程式設計 檔案管理 多 技術 系統控制 網路和資料庫程式設計以及遊戲製作等內容。編輯推薦 delphi是物件...