Q&A

  • RichEdit Control에서 각 글자마다 색갈을 다르게 하는 방법?
Delphi 공부하고 있는 학생인데 정말 궁금해서 질문 드립니다.



RichEdit Control을 사용해서 글자마다 다른 색을 Runtime시에 주고 싶은데

가능한지여?



가능하면 방법을 가능하지 않으면 가능하게 할 수 있는 다른 Control이나 방법좀

일러 주십시요.

1  COMMENTS
  • Profile
    stoney 2001.10.05 08:13
    RichEdit에서 원하는 Syntex를 색깔을 바꾸는 방법이니까 응용해보세요..



    procedure TForm1.Button1Click(Sender: TObject);

    const

    // 검사할 키워드들...

    keywords: array [1..28] of String =

    ('procedure', 'function', 'begin', 'end', 'whilw',

    'do', 'with', 'if', 'try', 'finally',

    'interface', 'uses', 'type', 'private' ,'public',

    'var', 'const', 'implementation', 'class', 'array',

    'of', 'string' ,'integer', 'unit', 'to',

    'while', 'for', 'then');

    var

    i, n: Integer;

    begin

    with RichEdit1 do

    begin

    Lines.BeginUpdate; // 변동사항을 잠시 막는다

    try

    for i := Low(keywords) to High(keywords) do

    begin

    n := 0;

    while n >= 0 do

    begin

    n:= FindText(keywords[i], n, GetTextLen-n, [stWholeWord]);

    if n >= 0 then

    begin

    SelStart := n;

    SelLength := Length(keywords[i]);

    SelAttributes.color := clBlue;

    SelLength := 0;

    n := n + Length(keywords[i]); // 검색된 다음 글자부터...

    end;

    end;

    end;

    finally

    Lines.EndUpdate;

    end;

    end;

    end;



    안영훈 wrote:

    > Delphi 공부하고 있는 학생인데 정말 궁금해서 질문 드립니다.

    >

    > RichEdit Control을 사용해서 글자마다 다른 색을 Runtime시에 주고 싶은데

    > 가능한지여?

    >

    > 가능하면 방법을 가능하지 않으면 가능하게 할 수 있는 다른 Control이나 방법좀

    > 일러 주십시요.