Форум: "Основная";
Текущий архив: 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