QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
9天前
查看: 1953|回复: 4
收起左侧

[讨论结束] 汉字滚动显示问题

 关闭 [复制链接]
发表于 2008-1-26 01:22:15 | 显示全部楼层 |阅读模式 来自: 中国陕西西安

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   
" N1 r# w8 h2 ~6 {3 v, Z      WM_MAGNETISM   =   WM_USER   +   10;   
! ~/ c% `; Z5 |3 x# i  const   
) v, J# i1 g  a' S      MT_CLOSEU   =   1;   . n+ @$ @& J' R" X+ u
      MT_CLOSED   =   2;   : A& u, t+ K$ |9 ~9 c1 y9 c0 L
      MT_MOVE     =   5;   
/ c8 ]7 }3 U3 {- F      MT_CREATE   =   6;   
' l+ S* g9 X( y% a; D      MT_PRIOR     =   7;   
9 g5 h; O# q( D' ?9 S      MT_NEXT     =   8;   ' m, X( c5 v/ e
  .......   - \8 M3 P2 x  i3 k- h% V4 `
    Y:integer;   ( R( r% @+ z: ?  M$ _
  procedure   TReportMain.FormCreate(Sender:   TObject);   0 D# n. p( Y1 K# X. h
  begin   
/ h# v; |$ S  X7 _2 a' I4 S  y:=paintbox1.Height;   3 D4 B2 G6 t' o5 d/ G  i2 I
  end;   
6 q! q7 a: e2 r2 R! e$ A$ C5 H  procedure   TReportMain.Timer1Timer(Sender:   TObject);   % T6 G& a' G* m( L& c6 ]- ]  a
  begin   ( b: k' j. z0 `9 Z1 r/ w
  PaintBox1.Canvas.Font.Color   :=   clBlue;   
" ?' m: I4 e3 S( P7 X; }, Q      PaintBox1.Canvas.TextOut(15,y,'dfdf);   
9 C! c& g/ V0 A$ @      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   
: {6 ]4 N4 N/ P6 ^+ d9 T) R- S      PaintBox1.Canvas.Font.Color   :=   clgreen;   , t# Z% R4 W/ K5 D
      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   . N# Z! X/ G! L$ C
      PaintBox1.Canvas.Font.Color   :=   clred;   
+ v9 G1 M8 l4 K. k6 L6 h      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   ( w8 ^% A4 \0 T! b
      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   ) {6 r0 g) A; T. Z# n: ~+ I* g
      dec(y);   - {- \+ d# ?; h+ w% O
      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   . h/ B& o+ ^3 P" n
  end;   # P$ L* s+ |2 H5 X* t3 W
  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   , k4 Z% e  I" `2 M$ c
  begin   
1 x& j3 g5 f( i% ^- ?    PaintBox1.Canvas.Font.Name:='隶书';   9 ]0 S9 g+ i. r& {: x8 A
    PaintBox1.Canvas.Font.Size:=12;   1 X. |) u6 t" B% w( G1 e) \6 Q8 u4 ]
    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   
' X4 [. W* [" }. ~    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   
+ }4 m/ f9 R# W8 ]5 e  end;

评分

参与人数 1三维币 +5 收起 理由
bdblbyq + 5 应助

查看全部评分

发表于 2008-1-26 11:35:37 | 显示全部楼层 来自: 中国广东广州
用查表法也可以呀,那是单片机可以完成的!

评分

参与人数 1三维币 +5 收起 理由
bdblbyq + 5 应助

查看全部评分

发表于 2008-1-26 12:28:17 | 显示全部楼层 来自: 中国四川成都
支持LS,查表的东西 方便
发表于 2008-7-13 21:34:22 | 显示全部楼层 来自: 中国江苏常州
要看你的液晶是点阵式的还是自带字库的,如果是点阵式的话,只要把对应的汉字的显示码以数组形式存放,滚屏时只要将待显示的数据移位就行了。如果是带字库的要稍微麻烦些。也有的液晶本身就带有滚屏功能,可以通过写入命令控制字来完成,具体参见液晶的使用说明书。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表