13,870
社区成员




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);
}