如何实现在屏幕上输出文字,是只输出文字,没有背景的那种效果(20分)

  • 主题发起人 主题发起人 nervernerver
  • 开始时间 开始时间
N

nervernerver

Unregistered / Unconfirmed
GUEST, unregistred user!
如何实现在屏幕上输出文字,是只输出文字,没有背景的那种效果,
就好像KUGO2008的歌词效果!
 
介绍两个思路吧:
1。利用一个窗体,清除背景且无标题,在窗体上用textout输出文字,优点是可获得焦点做一些处理,并且不需关心刷新重绘问题。
2。用getdc来获取桌面的hdc,然后直接用textout输出文字到桌面,刷子属性设置为clean可输出无白色背景的文字。需注意刷新重绘问题。
代码网上一搜一大把,我就不写了。
 
楼上的说的很明了了,LZ应该没问题了吧
 
procedure UITextOut(_color: Cardinal;
_x, _y: Integer;
_text: PChar;
_count: Integer);
var
dc: HDC;
font: HFont;
begin
dc := GetDC(0);
SetTextColor(dc, _color);
//_color可以用类似RGB($0, $0, $0)赋值;
SetBkMode(dc, TRANSPARENT);
SetBkColor(dc, GetBkColor(dc));
font := CreateFont(24, 8, 0, 0, FW_BOLD, 0, 0, 0, GB2312_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH or FF_SCRIPT, '楷体_GB2312');//不做参数修改了;
SelectObject(dc, font);
TextOut(dc, _x, _y, _text, _count);
ReleaseDC(0, dc);
end;
 
后退
顶部