Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[12210] [질문] Scrolling Text 한글문제
이문영 [colfunds] 1919 읽음    2008-09-30 09:46
영문스크롤.jpg 42.7KB 영문스크롤 화면
한글스크롤.jpg 43.8KB 한글스크롤 화면
아직은 델파이 초보입니다.
제가 Marquee Text가 필요해서 컴포넌트를 찾던 중 해외 사이트에서 아래와 같은 프로그램을 찾아서
사용하던 중에 문제가 발생했네요 ㅠㅠ
문제는 영문은 잘 되는 데 한글(한문 포함)을 사용하면 깨지네요!!
무슨 이유인지, 해결 방안이 있는 지 고수님들의 고견을 듣고자 합니다. ^-^

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, ComCtrls, Buttons;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    btnStartStop: TButton;
    BitBtn1: TBitBtn;
    lblMarquee: TLabel;
    edText: TEdit;
    Label2: TLabel;
    UpDown1: TUpDown;
    edSpeed: TEdit;
    Label1: TLabel;
    rgDirection: TRadioGroup;
    procedure BitBtn1Click(Sender: TObject);
    procedure edTextChange(Sender: TObject);
    procedure btnStartStopClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure UpDown1Changing(Sender: TObject; var AllowChange: Boolean);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.edTextChange(Sender: TObject);
begin
lblMarquee.Caption := edText.Text;
end;

procedure TForm1.btnStartStopClick(Sender: TObject);
begin
  Timer1.Enabled := not Timer1.Enabled;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var txt : string;
begin
txt:= lblMarquee.Caption;
if rgDirection.ItemIndex = 0 then //left
lblMarquee.Caption:= Copy(txt, 2, length(txt)-1) + Copy(txt,1,1)
else //right
lblMarquee.Caption:= Copy(txt,length(txt)-1,1) + Copy(txt, 1, length(txt)-1);

end;

procedure TForm1.UpDown1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  Timer1.Interval := 1000 div UpDown1.Position;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
edTextChange(Self);
end;

end.

전체 파일은 첨부해 올려놓았습니다.

+ -

관련 글 리스트
12210 [질문] Scrolling Text 한글문제 이문영 1919 2008/09/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.