Класс TMetafile. Класс Tlcon.
Инкапсулирует свойства метафайла Windows. С появлением Windows 95 к стандартному метафайлу (формат WMF) добавился расширенный (формат EMF), обладающий расширенными возможностями. Соответственно в объекте TMetafile имеется свойство:
property Enhanced: Boolean;
Внутреннее представление метафайла всегда новое (EMF), и устанавливать свойство Enhanced в значение False следует только для обеспечения совместимости со старыми программами.
В классе TMetafile перекрываются методы Assign, LoadFromStream, SaveToStream, LoadFromClipboardFormat, SaveToClipboardFormat. В буфер обмена объект помещает свое содержимое в формате CF_ENHMETAFILE.
Помимо общих, класс имеет следующие свойства.
- дескриптор метафайла:
property Handle: HMETAFILE;
- свойство:
property inch: Word.
Число точек на дюйм в координатной системе метафайла. Связано с установленным режимом отображения;
- свойства:
property MMHeight: Integer; property MMWidth: Integer;
Это настоящие высота и ширина метафайла в единицах, равных 0.01 мм. Свойства Height и width задаются в пикселах;
- в метафайл можно добавить свою палитру:
property Palette: HPalette;
- вы можете увековечить себя, установив два свойства метафайла:
property Description: string; property CreatedBy: string;
Содержащаяся в них информация записывается в файл и может быть прочитана благодарными потомками.
Класс Tlcon
Этот класс инкапсулирует значок Windows.
Не пытайтесь изменить размеры значка – они по определению постоянны (и равны GetSystemMetrics(SM_CXICON) и GetSystemMetrics(SM_CYICON)), и при попытке присвоить новые значения возникает исключительная ситуация EinvalidGraphicOperation. Значок нельзя также читать и писать в буфер обмена, т. к. в Windows нет соответствующего формата.
Свойство Transparent для значка всегда равно значению True. Изменить его нельзя – значки прозрачны также по определению.
В этом классе перекрываются методы класса TGraphic: Assign, LoadFromStream и SaveToStream. Дополнительно также определены – дескриптор значка:
property Handle: HICON;
И метод который "отдает" дескриптор – возвращает его значение, обнуляя ссылку на него в объекте:
function ReieaseHandie: HICON;