Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];

Вниз

Как нарисовать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.014 c
5-1117790468
Никита
2005-06-03 13:21
2005.12.25
Как сделать чтобы компонент мог размещать на себе другие Контролы


14-1133762086
Ega23
2005-12-05 08:54
2005.12.25
Завтра убываю. На Чукотку.


1-1133267416
AlexBurton
2005-11-29 15:30
2005.12.25
Необходимо защитить или зашифровать число от его изменения


2-1134300688
markers
2005-12-11 14:31
2005.12.25
Динамическое создание компонетов


2-1133980108
SergP
2005-12-07 21:28
2005.12.25
Объявить константу и указать ее значения.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский