سلام
من یه فایل رو توی RichEdit لود می کنم
می خوام کلربر بتونه قسمتی از متن رو کپی بگیره
حالا وقتی کاربر می خواد قسمتی از متن رو انتخاب کنه رنگ پس زمینه متن انتخاب شده سیاهه که چنگی به دل نمی زنه. چطور می تونم رنگ پس زمینه رو زرد کنم؟
سلام
من یه فایل رو توی RichEdit لود می کنم
می خوام کلربر بتونه قسمتی از متن رو کپی بگیره
حالا وقتی کاربر می خواد قسمتی از متن رو انتخاب کنه رنگ پس زمینه متن انتخاب شده سیاهه که چنگی به دل نمی زنه. چطور می تونم رنگ پس زمینه رو زرد کنم؟
میتونی از کدی مثل این استفاده کنی:
uses
RichEdit;
procedure RE_SetSelBgColor(RichEdit: TRichEdit; AColor: TColor);
var
Format: CHARFORMAT2;
begin
FillChar(Format, SizeOf(Format), 0);
with Format do
begin
cbSize := SizeOf(Format);
dwMask := CFM_BACKCOLOR;
crBackColor := AColor;
RichEdit.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@Format));
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// For Example (^_^)
RE_SetSelBgColor(RichEdit1, clYellow);
end;
منبع:
http://www.swissdelphicenter.ch/en/showcode.php?id=1438
سلام
از لطفتون ممنونم اما این کد در حال انتخاب کاری نمی کنه. من می خوام وقتی کابر داره متن رو درگ می کنه یا Shift و کلید جهت گرفته ناحیه انتخابی بارنگ زرد یا یه رنگ غیر از سیاه مشخص بشه.
در کد بالا بعد از انتخاب متن اگر دکمه رو فشار بدیم ناحیه انتخابی به رنگ زرد در میاد اما بخوایم یه جای دیگه رو انتخاب کنیم باز هم رنگ ناحیه Select شده سیاهه!!
یه سوال بی ربط دارم فرق Perform با SendMessage چیه؟