QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   2 m5 j! s; D: Y; X" h
      WM_MAGNETISM   =   WM_USER   +   10;   % ~( x6 E  l# |- o
  const   3 {) g* h+ S: B1 P, Y% `' r2 H# M
      MT_CLOSEU   =   1;   
/ L/ o  v! R/ l1 L5 P      MT_CLOSED   =   2;   * v' h" d" E& a. Z- R" M9 e
      MT_MOVE     =   5;   + z' C# m1 l" R
      MT_CREATE   =   6;   
* N8 s+ x6 r- J9 t( Q      MT_PRIOR     =   7;   
& g5 Q0 i$ v* \' b) I3 B: S+ s      MT_NEXT     =   8;   9 z  K1 ~2 j; x) |' V6 E/ y; o
  .......   
$ m0 `! G- r1 z3 l; k9 ~& j    Y:integer;   # V. S1 }# O3 z6 S  _; s+ F
  procedure   TReportMain.FormCreate(Sender:   TObject);   
2 W0 {0 v" b1 S: t% Z  begin   
4 o' A# L1 X+ A8 U; Q6 u  y:=paintbox1.Height;   ' G- Z* q5 G1 D& F
  end;   ! v- ~# ~& ^2 ]* r  _& H* g4 H
  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
$ Z7 [) T  o& K4 C2 g3 i5 `8 e  begin   
9 l4 w* E  }" w" {# |  PaintBox1.Canvas.Font.Color   :=   clBlue;   2 v/ b: |' A8 h
      PaintBox1.Canvas.TextOut(15,y,'dfdf);   
; O- t" m8 F$ Y" r      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   ' w( b8 X1 _- j. Q
      PaintBox1.Canvas.Font.Color   :=   clgreen;   
, F3 C. X- a/ s6 q      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   6 k( z1 F  _1 s' _2 f
      PaintBox1.Canvas.Font.Color   :=   clred;   4 p" v- W, I) T" A) I* m( \, N
      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   ! ~; b# Y7 Q) {0 _
      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   
5 F% S5 I& p% F$ M      dec(y);   8 r, T& ~* ^. K' F& @! D
      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
+ q) n) o' G& L6 }% Y  A7 ^; [1 u  end;   8 |( O- |* ], Q7 q. e# B  @
  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   
- \6 x4 r* F& f  begin   ! \# u) L; Q% m/ I
    PaintBox1.Canvas.Font.Name:='隶书';   
7 Y3 [8 w' O' j. T    PaintBox1.Canvas.Font.Size:=12;   - f& S# s6 Y- h9 b/ X+ k. R0 z
    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   & Q; m1 g) z4 M; S+ }9 Z- X" X: u
    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   : a/ f9 l: F. l4 a. {1 C6 F! U. ]% I
  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 )

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