На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Opening an Enhanced Metafile and Displaying Its Contents



This section contains an example demonstrating how an application opens an enhanced metafile stored on disk and displays the associated picture in the client area.

The example uses the Open common dialog box to enable the user to select an enhanced metafile from a list of existing files. It then passes the name of the selected file to the GetEnhMetaFile function, which returns a handle identifying the file. This handle is passed to the PlayEnhMetaFile function in order to display the picture.

LoadString(hInst, IDS_FILTERSTRING,
(LPSTR)szFilter, sizeof(szFilter));

/*
* Replace occurrences of '%' string separator
* with '\0'.
*/

for (i=0; szFilter[i]!='\0'; i++)
if (szFilter[i] == '%')
szFilter[i] = '\0';

LoadString(hInst, IDS_DEFEXTSTRING,
(LPSTR)szDefExt, sizeof(szFilter));


/*
* Use the OpenFilename common dialog box
* to obtain the desired filename.
*/

szFile[0] = '\0';
Ofn.lStructSize = sizeof(OPENFILENAME);

Ofn.hwndOwner = hWnd;
Ofn.lpstrFilter = szFilter;
Ofn.lpstrCustomFilter = (LPSTR)NULL;
Ofn.nMaxCustFilter = 0L;
Ofn.nFilterIndex = 1L;
Ofn.lpstrFile = szFile;
Ofn.nMaxFile = sizeof(szFile);
Ofn.lpstrFileTitle = szFileTitle;
Ofn.nMaxFileTitle = sizeof(szFileTitle);
Ofn.lpstrInitialDir = (LPSTR) NULL;
Ofn.lpstrTitle = (LPSTR)NULL;
Ofn.Flags = OFN_SHOWHELP | OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
Ofn.nFileOffset = 0;
Ofn.nFileExtension = 0;

Ofn.lpstrDefExt = szDefExt;

GetOpenFileName(&Ofn);

/* Open the metafile. */

hemf = GetEnhMetaFile(Ofn.lpstrFile);

/* Retrieve a handle to a window DC. */

hDC = GetDC(hWnd);

/* Retrieve the client rectangle dimensions. */

GetClientRect(hWnd, &rct);

/* Draw the picture. */

PlayEnhMetaFile(hDC, hemf, &rct);

/* Release the metafile handle. */

DeleteEnhMetaFile(hemf);

/* Release the window DC. */

ReleaseDC(hWnd, hDC);




Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Открытие Расширенного Метафайла и Отображения Содержания



Эта секция содержит пример, демонстрирующий как приложение открывает расширенный метафайл загруженный на диск и отображает связанное изображение в области клиента.

Пример использует Открытого общего диалогового блока, чтобы приспосабливаться пользователя, чтобы выбираться расширенный метафайл из списка, существующего файлы. Это затем передает имя выбранного файла в функцию GetEnhMetaFile, который возвращает ручку, опознающую файл. Эта ручка пройдена в функцию PlayEnhMetaFile для того, чтобы отображать изображение.

LoadString(hInst, IDS_FILTERSTRING, (LPSTR)szFilter, sizeof(szFilter));

/*
* Замените случаи '%' разделитель строки
* с '\0.
*/

для (i=0; szFilter[i]!='\0'; я++) если (szFilter[i] == '%') szFilter[i] = '\0;

LoadString(hInst, IDS_DEFEXTSTRING, (LPSTR)szDefExt, sizeof(szFilter));


/*
* Используйте общего диалогового блока OpenFilename
*, чтобы получать желаемый filename.
*/

szFile[0] = '\0;
Ofn.lStructSize = sizeof(OPENFILENAME);

Ofn.hwndOwner = hWnd;
Ofn.lpstrFilter = szFilter;
Ofn.lpstrCustomFilter = (LPSTR)NULL;
Ofn.nMaxCustFilter = 0L;
Ofn.nFilterIndex = 1L;
Ofn.lpstrFile = szFile;
Ofn.nMaxFile = sizeof(szFile);
Ofn.lpstrFileTitle = szFileTitle;
Ofn.nMaxFileTitle = sizeof(szFileTitle);
Ofn.lpstrInitialDir = (LPSTR) НЕДЕЙСТВИТЕЛЬНЫЙ;
Ofn.lpstrTitle = (LPSTR)NULL;
Ofn.Сигнализирует = OFN_SHOWHELP | OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
Ofn.nFileOffset = 0;
Ofn.nFileExtension = 0;

Ofn.lpstrDefExt = szDefExt;

GetOpenFileName(&Ofn);

/* Откройте metafile. */

hemf = GetEnhMetaFile(Ofn.lpstrFile);

/* Извлеките ручку в окно DC. */

hDC = GetDC(hWnd);

/* Извлеките прямоугольник клиента dimensions. */

GetClientRect(hWnd, &rct);

/* Сделайте picture. */

PlayEnhMetaFile(hDC, hemf, &rct);

/* Выпустите метафайл handle. */

DeleteEnhMetaFile(hemf);

/* Выпустите окно DC. */

ReleaseDC(hWnd, hDC);




Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz