在視覺化開發的時代,窗體是絕大部分應用程式的核心,但是開發者也許已對windows一成不變的方形窗體感到厭煩。其實巧妙地使用api函式即可實現漢字形狀的窗體。 本文的例項執行後將顯示乙個由「電腦報」三個漢字作為外形的窗體。當然你還可以利用本期講的方法實現更有個性的漢字視窗。
設計思路
1使用beginpath和endpath函式為窗體定義路徑。
2用pathtoregion將路徑轉換為region資料。
3呼叫setwindowrgn按路徑繪製窗體。
4由於不規則窗體無系統選單,因此程式中必須有關閉窗體的**。
實現步驟
啟動delphi7,新建專案。前述的api函式在delphi中均可直接呼叫,因此使用者不需要宣告,可直接輸入下面的控制項事件**。
//窗體建立事件
procedure tform1.formcreatesender tobject
varrgnhrgn
begin
//設定文字顏色為紅色
form1.color=clred
//開始設定路徑,參考api函式宣告①
beginpathcanvas.handle
//設定背景為透明,參考api函式宣告②
setbkmodecanvas.handletranspa
rent
//設定字型
canvas.font.name ='宋體'
//設定字型大小
canvas.font.size=100
//將漢字「電腦報」設定為窗體形狀路徑
canvas.textout1515'電腦報'
//結束設定路徑,參考api函式宣告③,完成設計思路(1)
endpathcanvas.handle
//將路徑轉換至區域,參考api函式宣告④,完成設計思路(2)
rgn=pathtoregioncanvas.handle
//改變窗體形狀,參考api函式宣告⑤,完成設計思路(3)
setwindowrgnhandlergntrue
end
//滑鼠按下的事件完成,進行設計思路(4)
procedure tform1.formmousedownsender 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是物件...