Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.25;
Скачать: CL | DM;

Вниз

Как нарисовать METAFILEPICT ?   Найти похожие ветки 

 
GuAV ©   (2005-11-29 01:02) [0]

Сабж. METAFILEPICT получается из HGLOBAL, возвращаемого OleGetIconOfClass.


 
MBo ©   (2005-11-29 07:36) [1]

PlayEnhMetaFile c METAFILEPICT.hMF
или загвоздка в чем-то ином?


 
GuAV ©   (2005-11-30 00:05) [2]


> PlayEnhMetaFile c METAFILEPICT.hMF


Возвращает False, RaiseLastOSError даёт:
System Error.  Code: 6.
Неверный дескриптор.


Дескриптор 0x32260922, mm = 8 = MM_ANISOTROPIC, высота и ширина многоватые для пикселей, но для сотых мм реальные, т.е. структура, похоже, правильная.


 
MBo ©   (2005-11-30 07:54) [3]

Через клипборд попробуй  - т.е. записать туда CF_METAFILEPICT, а считать - CF_ENHMETAFILE


 
MBo ©   (2005-11-30 08:02) [4]

или так:
HEnhMF:=CopyEnhMetafile(PGolbal.hMF,nil);


 
GuAV ©   (2005-11-30 20:44) [5]


> MBo ©   (30.11.05 7:54) [3]


> MBo ©   (30.11.05 8:02) [4]


Ничего не вышло. Мой код:

var h: HGLOBAL; P: PMetafilePict; hMF: THandle;
begin
 h :=  OleGetIconOfClass(
   ProgIDToClassID("Word.Document"), "Test", False);
 P := GlobalLock(h);


 
MBo ©   (2005-11-30 21:20) [6]

Так у меня работает:

var
 h: HGLOBAL;
 m: tmetafile;
begin
 h := OleGetIconOfClass(ProgIDToClassID("Word.Document"), "Test", False);
 Clipboard.SetAsHandle(CF_METAFILEPICT, h);
 m := tmetafile.create;
 m.Assign(clipboard);
 canvas.Draw(0, 0, m);


 
GuAV ©   (2005-11-30 22:42) [7]


> MBo ©   (30.11.05 21:20) [6]


Спасибо.
Выяснил, что или это не та функция, или я её не так вызываю. Мне нужен значок, который виден например в Word при Вставка->Объект->Создание->[x]В виде значка.



Страницы: 1 вся ветка

Текущий архив: 2005.12.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.052 c
14-1132856159
Иксик
2005-11-24 21:15
2005.12.25
Как вы относитесь к инициативе Российского правительства по


1-1133032336
heady
2005-11-26 22:12
2005.12.25
function SetLink


4-1130244841
zaN0za
2005-10-25 16:54
2005.12.25
Определение букв дисков


2-1133932918
KADAN
2005-12-07 08:21
2005.12.25
выделение большого-пребольшого куска памяти


6-1126542746
pr0t0n
2005-09-12 20:32
2005.12.25
pochemu ne rabotaet????