QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   
3 s7 x% _% M1 {+ g0 x% Z2 A      WM_MAGNETISM   =   WM_USER   +   10;   
* L9 u2 a' Z( N/ N. ]- q  const   
1 ?% d5 R" s/ A; v      MT_CLOSEU   =   1;   
* {9 M; J  T3 M3 c      MT_CLOSED   =   2;   - }8 t3 {) A( K5 V' N. V4 G0 J6 K
      MT_MOVE     =   5;   
' ~( r, t- v- Q1 f2 I      MT_CREATE   =   6;   
$ `1 T/ d4 D  @: N% a9 j: V      MT_PRIOR     =   7;   
0 Y6 X6 n0 y( F      MT_NEXT     =   8;   
# @8 T& a" q5 R7 d- D  .......   
: z/ Z# r3 ~; m& K) ~* x  B  m    Y:integer;   5 |1 ?" ^4 A$ C# a- C7 P
  procedure   TReportMain.FormCreate(Sender:   TObject);   
% f+ o1 c6 t/ R6 X1 u  begin   
5 J3 b+ [% k$ C8 C' J4 e  y:=paintbox1.Height;   
0 S3 _+ p3 \6 H1 E" _4 B3 Z  end;   ; S1 }  d2 d. y, V1 U
  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
: a, [6 @; \2 X. n+ G  begin   * K9 r' k$ F+ O) ?8 h8 _
  PaintBox1.Canvas.Font.Color   :=   clBlue;   
7 N* H* O! i. A; Z/ \4 `      PaintBox1.Canvas.TextOut(15,y,'dfdf);   ! c! x! U7 t; Q, D
      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   5 _/ l( T6 W: y4 Q  Z! d/ Y4 \
      PaintBox1.Canvas.Font.Color   :=   clgreen;   / o# C/ C% }9 ^9 v2 u
      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   5 l+ F8 k' b/ V7 X! g
      PaintBox1.Canvas.Font.Color   :=   clred;   
, ~0 H& o6 k! u* b0 o. p# m2 q/ {      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   0 F" L+ |7 d, p! `7 a
      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   + J1 O1 S! R. X, K
      dec(y);   / ^) |- C: l% U; z3 h
      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
, }: ?+ p' I% C/ ?. `+ S  end;   9 y3 c7 Q( j0 b$ Z* X* ?
  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   / a" w, f  w; G$ t! r
  begin   - [+ r# e, L7 v0 X
    PaintBox1.Canvas.Font.Name:='隶书';   
# m& r% r3 H) d0 b    PaintBox1.Canvas.Font.Size:=12;   4 _; R+ \6 ~) t: v
    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   8 c& U: }! y6 k
    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   
: t' y) G# O* _8 v! @' Z" K  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 )

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