c++ builder 如何让获取到的字符串变色显示
时间: 2024-01-21 19:19:09 浏览: 171
在 C++ Builder 中,你可以使用 TEdit 或 TMemo 控件来接收字符串,并使用其 Canvas 属性来对文本进行绘制,从而实现字符串变色显示的效果。
以下是一个简单的示例代码,使用 TEdit 控件来接收字符串,并将其中的 "world" 文本变为红色:
```cpp
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// 获取输入的字符串
AnsiString str = Edit1->Text;
// 在 TEdit 的 Canvas 上绘制文本
Edit1->Canvas->Brush->Color = clWindow;
Edit1->Canvas->FillRect(Rect(0, 0, Edit1->Width, Edit1->Height));
Edit1->Canvas->Font = Edit1->Font;
Edit1->Canvas->TextOut(0, 0, str);
// 将 "world" 文本变为红色
int index = str.Pos("world");
if (index > 0) {
int len = 5; // "world" 的长度
Edit1->Canvas->Font->Color = clRed;
Edit1->Canvas->TextOut(Edit1->Canvas->TextWidth(str.SubString(1, index-1)), 0, str.SubString(index, len));
Edit1->Canvas->Font->Color = clWindowText;
}
}
```
当用户在 TEdit 中输入字符串并点击按钮时,程序会将输入的字符串绘制在 TEdit 的 Canvas 上,并将其中的 "world" 文本变为红色。
如果你使用的是 TMemo 控件,也可以使用类似的方法来实现字符串变色显示。
阅读全文