자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi RichEdit 관련해서 여쭤보고 싶습니다.
2013.11.15 19:04
안녕하세요
석만근이라고 합니다.
다름이 아니라 XE2로 프로그램 개발중 이상한것을 발견하여 여쭤보려고 합니다.
RichEdit를 사용하는데
RichEdit의 defAttributes.name , selAttributes.name , font.name을 모두 굴림체로 설정해 두었는데도
내용입력시 영문일 경우 Arial로 작성이 됩니다.
그리고 ParentFont도 false입니다.
혹시 다른 셋팅이 필요한걸까요?? 아님 버그인가요??
부탁드리겠습니다.
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormShow(Sender: TObject);
begin
RichEdit1.defAttributes.Name :='굴림체';
RichEdit1.selAttributes.Name :='굴림체';
RichEdit1.Font.Name :='굴림체';
end;
end.
댓글 2
-
지하루
2013.11.15 19:27
-
한림대의료원정보기술센터
2013.11.15 19:37
아 그렇군요 정말 감사합니다. 그런데 죄송한데요;; Uses절에는 멀 선언해줘야 할까요 ^^;;;
------------------
찾았습니다. Winapi.RichEdit를 추가하면 되는군요 정말 감사합니다.
Delphi RichEdit 관련해서 여쭤보고 싶습니다.
2013.11.15 19:04
안녕하세요
석만근이라고 합니다.
다름이 아니라 XE2로 프로그램 개발중 이상한것을 발견하여 여쭤보려고 합니다.
RichEdit를 사용하는데
RichEdit의 defAttributes.name , selAttributes.name , font.name을 모두 굴림체로 설정해 두었는데도
내용입력시 영문일 경우 Arial로 작성이 됩니다.
그리고 ParentFont도 false입니다.
혹시 다른 셋팅이 필요한걸까요?? 아님 버그인가요??
부탁드리겠습니다.
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormShow(Sender: TObject);
begin
RichEdit1.defAttributes.Name :='굴림체';
RichEdit1.selAttributes.Name :='굴림체';
RichEdit1.Font.Name :='굴림체';
end;
end.
댓글 2
-
지하루
2013.11.15 19:27
-
한림대의료원정보기술센터
2013.11.15 19:37
아 그렇군요 정말 감사합니다. 그런데 죄송한데요;; Uses절에는 멀 선언해줘야 할까요 ^^;;;
------------------
찾았습니다. Winapi.RichEdit를 추가하면 되는군요 정말 감사합니다.
RichEdit 2.0 부터는 사용자가 입력하는 언어를 바꾸면 자동으로 글꼴을 바꿔주는 옵션이 있습니다. ( IMF_AUTOFONT )
내용을 입력할 때, 한글 글꼴를 지정한 후 한글을 입력하다가 영문으로 변경하면 앞에 지정된 한글 글꼴이 아닌 영문 글꼴로 변경되는 현상이 나타납니다.
이것은 언어에 따라 자동으로 글꼴을 변경하는 옵션 때문인데 아래의 코딩을 추가해서 해당 옵션을 끄면 문제를 해결할 수 있습니다.
RichEdit1.Perform(EM_SETLANGOPTIONS, 0,
LPARAM(RichEdit1.Perform(EM_GETLANGOPTIONS, 0, 0) and (not IMF_AUTOFONT)));