QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   
$ i" t8 R6 |4 O% V; E/ M) f      WM_MAGNETISM   =   WM_USER   +   10;   6 W- a# k% D* j
  const   
5 m. H6 a" u8 _      MT_CLOSEU   =   1;   
" o- {5 |* Z+ p; |5 a      MT_CLOSED   =   2;   ; k4 ?0 c+ d# s6 Q; R$ O, H
      MT_MOVE     =   5;   
- }4 M$ Y6 S6 B: }      MT_CREATE   =   6;   $ w% `4 v+ z* f1 N" u
      MT_PRIOR     =   7;   ' a  d4 I9 I' w1 I4 `5 N
      MT_NEXT     =   8;   
5 a8 A6 q% G" ^  .......   
; M) O$ M; ?7 v2 H    Y:integer;   
0 P; e; b9 P4 C- x; e$ S  procedure   TReportMain.FormCreate(Sender:   TObject);   
# D; s  t$ z5 N8 ~* _0 u4 A  begin   
: I" V1 p! w0 j8 }# E  y:=paintbox1.Height;   % r0 {) Z! H3 V' m( d
  end;   
. }/ a8 I- ]: b& l9 n  procedure   TReportMain.Timer1Timer(Sender:   TObject);   % C; G4 J1 K/ A' r( `& ^
  begin     M- _2 R' v* V9 \/ _8 l
  PaintBox1.Canvas.Font.Color   :=   clBlue;   
' p, Z9 z2 U7 ?* I  I: B1 N      PaintBox1.Canvas.TextOut(15,y,'dfdf);   
9 z( Q: h/ N# ?3 Y: L      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   
1 o3 A* l/ H' I( _! k% k) ]      PaintBox1.Canvas.Font.Color   :=   clgreen;   
+ x' b% h) G2 t% @# z      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   
: n0 }" D! h5 y* V. g$ r# v, {      PaintBox1.Canvas.Font.Color   :=   clred;   3 k6 F. H8 H% j. P5 a$ j
      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   : O7 e+ p! Z8 n% c2 {( [1 A
      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   4 N2 J) B; T! g% I0 p' q
      dec(y);   
* m& ^/ u' ?+ A4 o1 M1 U      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
, P5 l" M! ^9 ^# b( l7 O" n; B1 Q  end;   " N1 q+ ]# {$ F& J
  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   
0 Q. u/ n# n- [  begin   9 K5 u8 f) U, ~5 A
    PaintBox1.Canvas.Font.Name:='隶书';   
7 H" S* a5 G. B$ O) |4 }4 V" E& r    PaintBox1.Canvas.Font.Size:=12;   * ]) F6 A8 I, h, C6 O2 o/ t
    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   
7 U4 V/ w" X$ z* C" v6 e; W; w    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   
2 w4 M' G( L. b  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 )

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