Главная страница
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.047 c
4-1130219731
Alex_C
2005-10-25 09:55
2005.12.25
Как передать фокус другой программе?


3-1130996926
Denizzz
2005-11-03 08:48
2005.12.25
TimeStamp


1-1133036401
Василий
2005-11-26 23:20
2005.12.25
Запуск макроса в Excel средствами Delphi


2-1134136713
fast2
2005-12-09 16:58
2005.12.25
Как вынуть из таблицы наименования полей?


2-1133883036
Developerr
2005-12-06 18:30
2005.12.25
Как удалить запись из типизированного файла ?