Delphi實例制作一個多線程渲染程序,為浏覽圖像的窗口染色,點擊“開始”按鈕時,窗口中將隨機地出現藍色的像素點,直到藍色像素點把整個窗口染成藍色;用鼠標在窗口中點擊,將出現黃色的圓,這個黃色的圓也逐漸被隨機出現的藍色像素點染成藍色。點擊“暫停”按鈕,將停止出現渲染窗口的藍色像素點,程序運行界面如下圖所示。
實現這個多線程渲染窗口染色程序主要用到Timer 控件和BitBtn 控件等,此外還用到一個線程對象,在主程序中調用該線程對象進行隨機藍色像素渲染效果。
設計步驟如下:
先利用Delphi的線程技術,建立線程對象,其中包含了繪制窗口的程序,該程序利用隨機函數不斷地產生隨機像素點繪制窗口。在主窗體中,點擊“開始”按鈕生成該線程對象,並運行它,而“暫停”按鈕則停止線程的運行。同時,程序需要響應窗體的OnMouseDown 事件,在鼠標按下的位置繪制黃色的圓形。黃色的圓形不斷地被藍色像素點渲染的效果,可以通過兩個Timer 控件來完成,它的原理在於不斷地改變黃色圓形的半徑。
1.新建工程
(1)啟動Delphi 6.0 程序。選擇“文件”菜單下的“新建”命令,從彈出的子菜單中選擇Application 選項,則出現新建工程的Form1 窗口。
(2)選擇“文件”菜單下的“工程另存為”命令,彈出Save Unit1 As 對話框。在“保存在”列表框中選擇需要存放該窗口文件所在的目錄名;在“文件名”編輯框中填寫文件名,這裡填寫“MainForm”,點擊“保存”按鈕,保存上面的選項。
(3)執行上一步後,將彈出“工程另存為”對話框。在“保存在”列表框中選擇需要存放該工程的目錄名,最好和第(2)步選取相同的目錄;在“文件名”編輯框中填寫保存處理該工程的源代碼的文件名,這裡填寫“Project1”,點擊“保存”按鈕,保存上面的選項。
2.參數設置與修改:
(1)激活MainForm 窗口,在“屬性”面板中設置該窗體的Caption 屬性為“渲染效果”,Name 屬性為“Form1”。
(2)選擇“附加”頁上的BitBtn 選項,在窗體中添加3 個BitBtn 控件,調整其合適的大小和位置。在“屬性”面板中設置其Caption 屬性分別為“開始”、“暫停”和“退出”,點擊Glyph 屬性右邊的按鈕,從彈出的對話框中給各個控件選擇合適的圖案。
(3)選擇“系統”頁上的Timer 選項,在窗體中添加2 個Timer 控件,在“屬性”面板中設置其中一個控件的Name 為Timer1,它的Enable 屬性為True,Interval 屬性為500,另一個Name 為Timer2,Enable 屬性為True,Interval 屬性為1000。