نمایش نتایج 1 تا 2 از 2

نام تاپیک: 2 مشکل با RichEdit

  1. #1

    2 مشکل با RichEdit

    سلام دوستان
    مشغول نوشتن یک برنامه تندخوانی هستم، باید از کامپوننت richedit استفاده کنم:
    دو تا مشکل دارم باهاش:
    1- اینکه چرا نمیشه رنگ پس زمینه متن بهش داد ، یعنی میشه داد ولی اعمال نمیشه و نشون داده نمیشه
    من اینکارو کردم:
    RichEdit1.Brush.Color:=clRed;

    اما موقع نوشتن متن انگار یه رنگ قرمز پرپر میزنه و تو پس زمینه متن اعمال نمیشه!!

    2- می خوام کلمه های موجود در richedit رو که احتمال داره طولانی باشه ، کلمه به کلمه پیمایش کنم و هر لحظه کلمه ی جاری رو با رنگی متفاوت نشون بدم کدی که نوشتم اینه، اما دست عمل نمی کنه، می دونم دلیلش به خاطر کارکترهای کنترلی 10 و 13 هست اما 3 روزه مشغولشم به نتیجه ای نرسیدم ، به نظر شما چطور می تونم کلمه ها رو صحیح پیمایش کنم ؟


    Const
    Separator = #13+' '+#10 + #9 ;
    Var
    Form1: TForm1;
    Counter,DEC:Integer;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    RichEdit1.DefAttributes.Color := RichEdit1.Color;
    Counter:=1;
    Dec:=0;
    Timer1.Enabled:=not Timer1.Enabled;
    end;


    procedure TForm1.Timer1Timer(Sender: TObject);
    Var I:Integer;
    begin
    while Pos(RichEdit1.Lines.Text[Counter],Separator)<>0 do
    begin
    if (RichEdit1.Lines.Text[Counter]=#$D)and(RichEdit1.Lines.Text[Counter+1]=#$A) then
    Inc(Dec);
    Inc(Counter);
    end;

    RichEdit1.SelStart:=Counter-1-DEC;
    for I := Counter to Length(RichEdit1.Lines.Text) do
    if pos(RichEdit1.Lines.Text[i],Separator)<>0 then
    begin
    Counter:=i;
    Break;
    end;

    RichEdit1.SelLength:=Counter-RichEdit1.SelStart-1;
    RichEdit1.SelAttributes.Color:=clBlack;
    end;




    نکته : یک کلمه ی طولانی بنویسید که تو سطر اول جا نشه و باقیش به سطر دوم بره ، و برنامه رو تست کنید، به نظر شما راه مناسبی رو برای این کار انتخاب کردم یا راه مناسب تری هم وجود داره؟

  2. #2

    نقل قول: 2 مشکل با RichEdit

    1- اینکه چرا نمیشه رنگ پس زمینه متن بهش داد ، یعنی میشه داد ولی اعمال نمیشه و نشون داده نمیشه
    جواب سوال اولمو پیدا کردم ، میذارم تا دوستان هم اگه به این مشکل برخورد کردند استفاده کنند :

    http://www.swissdelphicenter.ch/en/showcode.php?id=1438

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •