关于RichEdit某行字符上色遇到的BUG
void __fastcall TForm1::Button1Click(TObject *Sender){ int LineNo = Edit1->Text.ToIntDef(1); RichEdit1->SelStart = SendMessage(RichEdit1->Handle,EM_LINEINDEX,LineNo-1,0); RichEdit1->SelLength = RichEdit1->Lines->Strings[LineNo-1].Length(); if(ColorDialog1->Execute()) { RichEdit1->SelAttributes->Color = ColorDialog1->Color; }}
void __fastcall TForm1::Button1Click(TObject *Sender){ TColor ADefColor=RichEdit1->SelAttributes->Color;//保存默认颜色 int LineNo = Edit1->Text.ToIntDef(1); RichEdit1->SelStart = SendMessage(RichEdit1->Handle,EM_LINEINDEX,LineNo-1,0); RichEdit1->SelLength = RichEdit1->Lines->Strings[LineNo-1].Length(); if(ColorDialog1->Execute()) { RichEdit1->SelAttributes->Color = ColorDialog1->Color; } RichEdit1->SelLength=0; RichEdit1->SelAttributes->Color=ADefColor;//还原默认颜色 }