13,825
社区成员
发帖
与我相关
我的任务
分享
void __fastcall CrnAdjustEditWidth(TEdit *edt)
{
TControlCanvas *cc = new TControlCanvas();
cc->Font->Assign(edt->Font);
cc->Control = edt;
edt->Width = cc->TextWidth(edt->Text) + 8;
delete cc;
}
测试一下:
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->Text = "123";
CrnAdjustEditWidth(Edit1);
}
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit1->Text = "12fadsfdsafdsfdsa3";
CrnAdjustEditWidth(Edit1);
}
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Edit1->Text = "CSDN论坛";
CrnAdjustEditWidth(Edit1);
}