📄 more_font.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>具有不同字体的列表框</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p align="center"> <font color="#0000c0"></p>
<h2 align="center">具有不同字体的列表框 </font></h2>
<h3 align="center">赖立谦 <br>
[请作者提供详细的邮政地址] </h3>
<p><font color="#ffffff">----</font>
一般情况下,列表框内所有项的字体、大小、颜色等属性都是一样的。但是我们可以通过编写简单的程序使得每一项都能有自己的字体、大小和颜色。为了对比,我们用了两个Listbox构件,Listbox1按一般情况显示,Listbox2显示的每一项都可以有自己的字体、大小、颜色。
</p>
<p><font color="#ffffff">----</font> 首先把Listbox2的style属性改为lbOwnerDrawVariable。然后分别编写它的OnDrawItem事件和OnDrawItem事件。下面就是Listbox2
的OnDrawItem事件和OnDrawItem事件的代码: </p>
<pre>procedure TForm1.ListBox2DrawItem(Control:
TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with ListBox2.Canvas do
begin
FillRect(Rect);
Font.Size := 12;
if Index mod 2 =0 Then
begin
Font.Name := '宋体';
Font.Color := Clred;
end
else
begin
Font.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);
begin
with ListBox1.Canvas do
begin
Font.Size := 12;
if Index mod 2 =0 Then
begin
Font.Name := '黑体';
Font.Color := Clred;
end
else
begin
Font.Name := '隶书';
Font.Color := Clgreen;
end;
Height := TextHeight('Wg') + 2;
end;
end;</pre>
<p> <font color="#ffffff"></p>
<p>----</font> 此程序在Windows95、Delphi4.0环境下运行通过。 </p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -