QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   
9 m+ Z3 B2 E9 j* K      WM_MAGNETISM   =   WM_USER   +   10;   
* m% W. U0 F; K3 K$ w" L( a  const   2 B3 o4 s, W2 r( G7 P8 K+ v2 M
      MT_CLOSEU   =   1;   
% e: P8 B' \. z      MT_CLOSED   =   2;   
8 n# U9 \. J0 N1 u; s+ q0 \      MT_MOVE     =   5;   
' m5 L8 V; b) ?  g3 ^" c6 U      MT_CREATE   =   6;   
+ m2 l" c+ S: f, T' e; z' j      MT_PRIOR     =   7;   
+ \1 t9 E6 J; Y, V4 w- ]6 d      MT_NEXT     =   8;   6 ^% d/ p( x4 E' A3 x
  .......   $ x  C1 |0 Q1 ~- \4 G% `
    Y:integer;   
* {2 F! |! ~' y2 u5 U: B  B7 }+ l  e  procedure   TReportMain.FormCreate(Sender:   TObject);   4 U  _4 w4 m! B2 G7 ]5 L
  begin   
/ ?8 T5 k( a  ^! j) B  y:=paintbox1.Height;   * T2 @- J) S* ?3 t- R/ Z& ]
  end;   8 c2 p4 c) R' n5 y+ N; U4 Q2 i# }
  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
3 V$ v# R/ o8 i% \  begin   0 m0 o2 U, U# M
  PaintBox1.Canvas.Font.Color   :=   clBlue;   
0 x. h6 x1 w  j& K3 M* a5 R" U      PaintBox1.Canvas.TextOut(15,y,'dfdf);   & L0 A: E6 F" V* g3 j
      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   
/ b9 S, h' d2 V5 ^2 c- n6 B      PaintBox1.Canvas.Font.Color   :=   clgreen;   
* ^: C( k& d2 _: A& ^      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   4 \. @* C- E7 b9 u4 c" Y6 H$ j
      PaintBox1.Canvas.Font.Color   :=   clred;   % l# q) k& J$ e" w
      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   7 ^  P0 P; _$ G
      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   ( t; p4 @! V* I* x
      dec(y);   ) A/ L& ^% O: j  U; }
      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
7 E3 `8 C& W7 l2 q4 M( C  end;   
( T4 V6 U) `2 h  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   8 Q! M% G( J( _7 j
  begin   7 ~& P/ p: M7 z4 v: ^
    PaintBox1.Canvas.Font.Name:='隶书';   
+ l$ ]. D. n6 w3 D4 h    PaintBox1.Canvas.Font.Size:=12;   * n, p% O! R2 ~& J, S/ @
    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   
  U& m& ]- {+ ]+ D% ^/ _- o. U    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   % l7 e4 O9 x$ r' s% g3 ?$ w7 L
  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 )

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