QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1977|回复: 4
收起左侧

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   ) K- p* ?# a. }7 W/ S- \
      WM_MAGNETISM   =   WM_USER   +   10;   
( q, E$ p% m$ {3 i- R* G: ~5 z- q& a  const   
, X) A; L% K2 Y+ _      MT_CLOSEU   =   1;   
; b4 E1 n  ?5 p3 a2 J      MT_CLOSED   =   2;   2 [6 T+ z1 I) o2 G6 S
      MT_MOVE     =   5;   6 D; k4 H; R  u+ K& N
      MT_CREATE   =   6;   2 C) l# ]8 l3 D8 ^
      MT_PRIOR     =   7;   4 P" K7 u) }% X, s  v3 c
      MT_NEXT     =   8;   0 X" Q6 n9 F) c! _4 P
  .......   
! ~0 B, y8 Y5 X6 [    Y:integer;   $ t! i- ~5 d( @4 @7 p
  procedure   TReportMain.FormCreate(Sender:   TObject);   
" u2 w! l6 _% l0 Z' p; V  begin   
! ?& Q0 T5 Z7 J9 E9 q7 g4 H. K6 F9 [  y:=paintbox1.Height;   4 p7 @8 r" N7 s" R
  end;   
4 G% F2 g" ?, \0 |% ~  F  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
" W/ b# v, h; R) P  begin   * ^8 _6 x. Y: z1 l
  PaintBox1.Canvas.Font.Color   :=   clBlue;   / [% [. O/ R# j/ N( I0 S+ x! O
      PaintBox1.Canvas.TextOut(15,y,'dfdf);   ( ~: h9 ?2 n5 r' g) |; k' g
      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   
! ?2 g: S- ?- B      PaintBox1.Canvas.Font.Color   :=   clgreen;   
3 Z4 ]# |6 x) W9 m0 x      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   3 s5 Q/ h2 v9 p6 u
      PaintBox1.Canvas.Font.Color   :=   clred;   
$ m+ ~" |9 d1 @6 \0 G      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   
) V; c4 ]  g6 k3 c4 h      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   
. u2 h9 B, p4 k9 X" F1 ^5 |* X      dec(y);   
( `# d/ b0 f& T3 P      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
1 _- d$ i2 w, B( C. P  J  end;   
0 T7 Q6 q0 l$ y# N% Z  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   2 l8 |5 J, C3 J2 P2 ~
  begin   6 g# A7 H0 J/ c4 v" g5 j' @+ A
    PaintBox1.Canvas.Font.Name:='隶书';   
: w7 l/ W& Y( j1 k7 a* U, X3 \    PaintBox1.Canvas.Font.Size:=12;   
5 `& {/ v6 Z1 \. y. m" |    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   2 N( u% F, t& ?' z9 r. C
    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   
3 i; j/ n9 \0 e( T/ w( `  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 )

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