程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 具有不同字體的列表框

具有不同字體的列表框

編輯:Delphi
一般情況下,列表框內所有項的字體、大小、顏色等屬性都是一樣的。但是我們可以通過編寫簡單的程序使得每一項都能有自己的字體、大小和顏色。為了對比,我們用了兩個Listbox構件,Listbox1按一般情況顯示,Listbox2顯示的每一項都可以有自己的字體、大小、顏色。

---- 首先把Listbox2的style屬性改為lbOwnerDrawVariable。然後分別編寫它的OnDrawItem事件和OnDrawItem事件。下面就是Listbox2 的OnDrawItem事件和OnDrawItem事件的代碼:


procedure TForm1.ListBox2DrawItem(Control:TWinControl; Index: Integer;Rect: TRect; State: TOwnerDrawState);beginwith ListBox2.Canvas dobeginFillRect(Rect);Font.Size := 12;if Index mod 2 =0 ThenbeginFont.Name := '宋體';Font.Color := Clred;endelsebeginFont.Name := '隸書';Font.Color := Clgreen;end;TextOut(Rect.Left+1, Rect.Top+1,ListBox2.Items[Index]);end;end;
procedure TForm1.ListBox2MeasureItem(Control: TWinControl; Index: Integer;var Height: Integer);beginwith ListBox1.Canvas dobeginFont.Size := 12;if Index mod 2 =0 ThenbeginFont.Name := '黑體';Font.Color := Clred;endelsebeginFont.Name := '隸書';Font.Color := Clgreen;end;Height := TextHeight('Wg') + 2;end;end;

 


---- 此程序在Windows95、Delphi4.0環境下運行通過。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved