Resizing a TCustomControl to fit TField contents

void SizeControlToField(TCustomControl* control, TField* field)
{
HDC DC;
LPTEXTMETRIC lptm = static_cast<LPTEXTMETRIC>(malloc(sizeof(TEXTMETRIC)));
DC = ::GetDC(control->Parent->Handle);
::GetTextMetrics(DC, lptm);
if (field->DataType == TFieldType::ftString) {
control->Width = field->DataSize * lptm->tmAveCharWidth;
}
free(lptm);
}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s