谁有支持中文的滚动LED面板的控件,(带源码)100分(100分)

  • 主题发起人 主题发起人 dxpjj
  • 开始时间 开始时间
D

dxpjj

Unregistered / Unconfirmed
GUEST, unregistred user!
谁有支持中文的滚动LED面板的控件,(带源码)100分
 
帮你提一下,英文的我也要,100照给
 
要什么效果的,自己找找看啊,应该很多的,我喜欢用scrolltext,要的话我发给你(留mail)。
 
不是要滚动条,而是液晶显示的面板。(支持中文)
 
lmd 51delphi.com有下。
 
支持中文的?我还没见过。 我自己做过一个程序,原理就是用汉字库描点。
其实你看那些英文LED的源码就知道了,也是描点的。 只不过汉字更大,字库
也比较大,所以比较麻烦。 我以前用的是hzk16, 你也可以自己找些做字模的
软件来做各种字体的字模。 我曾经打算做一个这样的控件的,但是考虑到汉字
库太大,字体太多, 特别是,汉字+半角时不好处理,于是就放弃了。 给你贴
个简单的例子 :)

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;


const
CharState: array[0..95] of byte =
($00,$00,$01,$C0,$01,$80,$19,$C0,$3B,$20,$5F,$50,$7F,$DC,$6D,$0E,
$2A,$F0,$13,$30,$01,$60,$01,$E0,$00,$00,$00,$00,$00,$00,$00,$00, { 行楷 "哈"字}
$00,$00,$01,$C0,$01,$80,$19,$C0,$3B,$20,$5F,$50,$7F,$DC,$6D,$0E,
$2A,$F0,$13,$30,$01,$60,$01,$E0,$00,$00,$00,$00,$00,$00,$00,$00, { 行楷 "哈"字}
$00,$00,$00,$30,$0E,$D8,$13,$50,$12,$70,$1E,$B0,$16,$F0,$1E,$B0,
$1E,$F0,$00,$90,$00,$D0,$01,$30,$00,$10,$00,$00,$00,$00,$00,$00); { 行楷 "明"字}

type
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure PaintBox1Paint(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
CreditText: TBitmap;
BackGround: TBitmap;
TextX,TextY:Integer;
Buffer: TBitmap;
IsStay: Boolean;


implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
l,m,n,k:Integer;
R,ItemRect:TRect;
begin

IsStay:=false;
CreditText:= TBitmap.Create;
CreditText.Width := 375;
CreditText.Height :=200;
//设定笔刷颜色为黑色,
CreditText.Canvas.Brush.Color := clBlack;
//涂满背景
CreditText.Canvas.FillRect(Rect(0, 0,600 ,600));
//---------------------Credit的文本-----------------------------

for l:=0 to 2 do begin
for m := l*16 to l*16+15 do begin
for n:= 0 to 1 do begin
for k := 7 downto 0 do begin
if boolean(CharState[m*2+n] and (1 shl k)) then
begin
With CreditText.Canvas do
begin
Brush.Color:=RGB(Random(255),Random(255),Random(255));
R:=Bounds((n*8+7-k)*4,m*4,2,2);
FillRect(R);
end;
end;
end;
end;
end;//end of l
end;

//---------------------------------------------------------------
//产生一个新的Background物件
BackGround := TBitmap.Create;
BackGround.Width := 640;
BackGround.Height := 600;
//载入Background的图形
BackGround.Canvas.Brush.Color:=clBlack;
BackGround.Canvas.FillRect(Bounds(0,0,640,600));
for l:=0 to 320 do
for n:=0 to 240 do
begin
With BackGround.Canvas do
begin
Brush.Color:=RGB(80,80,80);
R:=Bounds(l*2,n*2,1,1);
FillRect(R);
end;
end;
//产生一个新的Buffer物件
Buffer :=TBitmap.Create;
Buffer.Width := 640;
Buffer.Height:= 480;
Buffer.Canvas.Brush.Color := clBlack;
Buffer.Canvas.FillRect(Rect(0, 0, 640, 600));
TextX:=0;
TextY:= 0;

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
CreditText.Free;
BackGround.Free;
Buffer.Free;
end;

procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
PaintBox1.Canvas.Draw(0, 0, Buffer);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin

if (TextY+CreditText.Height)>0 then
TextY:=TextY-2
else
TextY:=PaintBox1.Height;
//在Buffer上画上背景,以盖掉旧有的前景
Buffer.Canvas.CopyMode := cmSrcCopy;
Buffer.Canvas.Draw(0, 0, BackGround);
//在将前景以OR的形式画上,如此便会有透明的效果
Buffer.Canvas.CopyMode := cmSrcPaint;
Buffer.Canvas.Draw(TextX,TextY,CreditText);
//在将做好的Buffer画至PaintBox的Canvas上,让使用者看到
PaintBox1.Canvas.Draw(0, 0, Buffer);

if IsStay=false then //先停留一段时间,然后再滚动!
begin
Sleep(1200);
IsStay:=true;
end;
end;

end.



 
我见过一个控件,绝对支持中文,但是没有源码,谁要,留Email,我现在想要有源码的,
 
我要 mynameisbb@21cn.com
 
to dxpjj: 是什么控件啊? 发一个来瞧瞧 :)
town@ppmm.net
 
我已经发给你们了,请查收,不知看后有什么感觉。。。只是没有源码!
 
好像没有反应
 
D6,D7,装不上。
 
我有一个自己写的滚动控件什么都可以,只要是合法的字符,不过不是LED的,
哦,,也许应该叫做 ScrollText 吧!
 
我写过这样的几个控件, 可以滚动文本(带标题),滚动rtf(带图片),滚动类似表格
的文本(主副标题);
但是先要告诉我你是哪个地方?哪个公司的。
 
我是江苏的
 
我是南京的。你是江苏哪个地方的?
 
TO:zzutrain
你是谁,是查户口的呀,可以通过dxpjj@263.net交流
 
The power!!!!!!!!!
http://61.132.118.185:8080/dispdocnew.php?t=&id=1322
 
aafont控件,很好
 
接受答案了.
 
后退
顶部