利用Windows GDI
在Delphi5.0中新建一个工程,在主窗体的Paint事件中编写如下代码:
procedure TForm1.FormPaint(Sender: TObject);
var
FLogFont : tagLogFontA; file://逻辑字体--结构体类型
hTempFont, hPrevFont: HFONT; file://字体句柄
hTempDC: HDC; file://设备描述表或图形设备句柄
TempString: string; file://输出的文字
begin
FLogFont.lfHeight := 10; file://字高
FLogFont.lfWidth := 10; file://字宽
FLogFont.lfWeight := 1; file://字体笔划粗细程度
FLogFont.lfUnderline := 0; file://没有下划线
FLogFont.lfStrikeOut := 0; file://没有删除线
FLogFont.lfItalic := 0; file://斜体效果否
FLogFont.lfCharSet := GB2312_CHARSET; file://字符集
FLogfont.lfEscapement := 450; file://倾斜度
FLogFont.lfOrientation := 450; file://方向与倾斜度取值同
FLogFont.lfFaceName := '宋体'; file://字体名称
file://创建逻辑字体
hTempFont := CreateFontIndirect(FLogFont);
TempString := '测试';
file://取得窗口的设备句柄
hTempDC := GetDC(Handle);
file://取出窗口设备的当前字体,并替换为新字体
hPrevFont := SelectObject(hTempDC, hTempFont);
file://设置设备窗口的文字色彩
SetTextColor(hTempDc, clRed);
file://输出文字
TextOut(hTempDc, 200 , 200, PChar(TempString), Length(TempString));
file://恢复原有的字体
SelectObject(hTempDc, hPrevFont);
file://删除逻辑字体
DeleteObject(hTempFont);
file://释放设备接口
ReleaseDC(Handle, hTempDC);
end;