QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   
9 L. `+ L2 ]9 L9 r      WM_MAGNETISM   =   WM_USER   +   10;   
* b+ D' j7 `. v. L6 c6 L/ v  const   
$ r5 n# j# S$ G      MT_CLOSEU   =   1;   $ h% C. a' b' T" v2 J
      MT_CLOSED   =   2;     V! ?; k& N2 O2 R/ r3 J
      MT_MOVE     =   5;   
7 x+ g) V# c7 F; Z0 T+ Q* E      MT_CREATE   =   6;   
0 d: C' R* T( H) x      MT_PRIOR     =   7;   5 d. ]  C, ~! r: i
      MT_NEXT     =   8;   - b( X1 D+ X3 c' F9 u! v
  .......   ! D) H% Z7 B  ]/ u8 E- D$ ]* k" D
    Y:integer;   % I; P3 c, K( ?0 k* ?
  procedure   TReportMain.FormCreate(Sender:   TObject);   7 t, q- }5 t, m2 |' h
  begin   
5 d- n, c" o: p* Z5 u9 B, D  y:=paintbox1.Height;   
  |, Y8 H/ j' E! A0 R" n% g  end;   
+ N2 O' y4 ?- t  h9 ?  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
5 m$ X! K! h8 @/ `! u  `" p  begin   
4 G! W1 ?! l2 Q4 \" F/ C$ H  PaintBox1.Canvas.Font.Color   :=   clBlue;   
& V- e; [6 G" K( f0 W2 q      PaintBox1.Canvas.TextOut(15,y,'dfdf);   5 i  g+ z. o) U1 Z  `
      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   
  H* I/ c: X4 W; i7 ?      PaintBox1.Canvas.Font.Color   :=   clgreen;   $ v- g6 Z% m# z4 M0 E
      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   - W7 X6 S9 ]7 }0 e7 ^
      PaintBox1.Canvas.Font.Color   :=   clred;   
1 s8 Q% t- ?% `3 }- f3 k      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   
( C3 B  a' L* X      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   " `$ L0 J- e, k; Q7 \# K
      dec(y);   
- j3 Z; A* V& K6 G  Y      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
5 [0 o) R& I; c2 t7 T  end;   2 v$ R" q! p( U  Z
  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   ; g& Z! P( U9 a1 q& \
  begin   
. [0 E% P% q! u. b& O4 ?    PaintBox1.Canvas.Font.Name:='隶书';   2 T0 y3 r( z) p9 i5 h7 c
    PaintBox1.Canvas.Font.Size:=12;   8 |( X# s4 F- S) V
    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   7 b3 g8 m9 f8 K% ]; o$ b
    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   ! G! }7 q; m  s  ]* t# P5 j
  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 )

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