Code:

procedure TConsole.FontChanged(Sender: TObject);

var

DC: HDC;

Save: THandle;

Metrics: TTextMetric;

Temp: string;

begin

if Font.Handle <> FOldFont.Handle then

begin

   DC := GetDC(0);

   Save := SelectObject(DC, Font.Handle);

   GetTextMetrics(DC, Metrics);

   SelectObject(DC, Save);

   ReleaseDC(0, DC);

   if not (((Metrics.tmPitchAndFamily and ff_Modern) <> 0) and

     ((Metrics.tmPitchAndFamily and $01) = 0)) then

   begin

     Temp := 'TConsole: ' + Font.Name +

       ' не является шрифтом с фиксированной шириной';

     Font.Name := FOldFont.Name; { Возвращаем предыдущие атрибуты шрифта }

     raise EInvalidFont.Create(Temp);

   end;

   SetMetrics(Metrics);

end;

FOldFont.Assign(Font);

if csDesigning in ComponentState then

   InternalClrScr;

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить