QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   9 l7 H. I( J- a" x9 K
      WM_MAGNETISM   =   WM_USER   +   10;   
" R0 q  I8 M7 y- G2 m% ]/ T  const   * ~' d/ L4 f4 t- Y! H  |! j% B& [
      MT_CLOSEU   =   1;   
3 x: g$ j8 F* U0 ^: D      MT_CLOSED   =   2;   . r, i$ Z" c! S1 C
      MT_MOVE     =   5;   . J" C- z& f6 n$ [  X
      MT_CREATE   =   6;   
6 O# y/ p6 ]& z  V$ s% K" Y      MT_PRIOR     =   7;   
5 N6 G5 a2 @  j8 O      MT_NEXT     =   8;   
! B8 ^+ F+ K( r8 {; c* Y6 }  .......   / M" T! a3 A  \1 b' D! I! O
    Y:integer;   # {5 M+ o* k/ [; H& }% ?
  procedure   TReportMain.FormCreate(Sender:   TObject);   ' B# p( Y& ^. o* \( ]# n
  begin   
% i9 g" M1 \/ x4 A  y:=paintbox1.Height;   
8 z  r4 j3 |( [' s! G% D9 N  end;   
$ ]: N" X8 V% L, X1 l9 [  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
6 h/ E2 b  M8 t: ?( V  begin   
; @  Q% M0 Z5 b5 l  PaintBox1.Canvas.Font.Color   :=   clBlue;   
% V$ G* J6 v' ?8 ~# C      PaintBox1.Canvas.TextOut(15,y,'dfdf);   2 n( u& d  z2 T# {7 Z& Z
      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   
# [: z4 j) C$ f# W0 [- Y      PaintBox1.Canvas.Font.Color   :=   clgreen;   ! A/ {- P1 f; @. w+ J
      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   
% g% ^. i: e9 k$ l, g; S9 E, o) d      PaintBox1.Canvas.Font.Color   :=   clred;   * F7 f6 |; x# l4 i0 C3 U
      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   " {! E5 v' R/ H# \5 e
      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   
" v$ C$ Q* w1 h. c) g! |3 J      dec(y);   % k/ B+ s) V& p0 s8 P
      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
  O% w7 y$ z5 ~; X, q1 l! h  end;   % Y8 W# U' {0 R7 ~
  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   
: k# E) `. `! r9 k  M6 b  begin   9 ~# A# L1 g# A
    PaintBox1.Canvas.Font.Name:='隶书';   
$ m2 _8 X' M  y9 G" H% Q2 t    PaintBox1.Canvas.Font.Size:=12;   $ n5 r4 x0 K3 `  q5 a1 T
    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   
' e- Y/ w! W% L5 v* A( |# m6 w    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   8 X1 E, `1 c+ n$ p- q
  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 )

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