//DDENUM_NONDISPLAYDEVICES
//DDENUM_DETACHEDSECONDARYDEVICES
DDENUM_ATTACHEDSECONDARYDEVICES//сообщать о всех драйверах и присоединенных к нему устройствах (акселераторах)
);
}
//Получение информации о поддерживаемых адаптером видеорежимах (всех его драйверах и присоединенных к нему устройствах
//(Для работы EnumDisplayModes() используется функция обратного вызова EnumModesCallback2(), созданная в этой программе)
if(nF1==3)//выводим по 3-му нажатию на F1
{ hMyOutFile=CreateFile(//объявление файла для вывода результатов анализа поддерживаемых режимов
"DisplayModes.doc",//имя создаваемого файла с перечнем поддерживаемых режимов
GENERIC_WRITE, //доступ - только для записи
//FILE_SHARE_READ, //разрешаем одновременное чтение файла другим потоком
0, //разрешаем одновременное чтение файла другим потоком
NULL, //атрибут защиты
OPEN_ALWAYS, //открывать файл всегда
0, //флаг,аттрибут = буфер создавать не надо
NULL //не используем
);
hRet=pDirectDraw7->EnumDisplayModes(DDEDM_REFRESHRATES,//перечислять и режимы с различной частотой обновления экрана
NULL, //перечислять ВСЕ режимы
NULL, //не передаем дополнительную информации, передаваемой из программы непосредственно в функцию обратного вызова ( EnumModesCallback2() )
EnumModesCallback2 //имя функции обратного вызова(для вывода инф об очередной определенном режиме
);
//Закрываем файл
CloseHandle(hMyOutFile);// закрыли файл
}
//=======================================
}//конец [if(wParam==VK_F1)...] обработки нажатия F1
break;//конец обработки WM_KEYDOWN (выходим из switch на конец WndProc())
/****************************************************************************/
case WM_PAINT://Начальный вывод в рабочую область классического окна и обработка дефектных участков
static PAINTSTRUCT ps; //структура для работы BeginPaint()
hDC = BeginPaint(hWnd,&ps);// в начале WM_PAINT
SetTextColor(hDC, RGB(255,255,0));//Цвет букв текста
//SetBkColor(hDC, RGB(255,0,255)); //Цвет фона символов
SetBkMode(hDC,TRANSPARENT); //Фон символов не выводить
pStr="ВЫВОД в классическое Windows-окно (желтый текст ниже):";
TextOut(hDC,10,5,pStr,strlen(pStr));//Вывод текста
pStr="Для перевода окна в режим DirectDraw управления нажмите клавишу 'F1' (Выход: Alt-F4)";
TextOut(hDC,10,30,pStr,strlen(pStr));//Вывод текста
pStr="Для ВЫВОДА DirectDraw данных нажимайте 'F1' любое количество раз (Выход: Alt-F4)";
TextOut(hDC,10,50,pStr,strlen(pStr));//Вывод текста
EndPaint(hWnd,&ps); // !!! Обязательно в конце WM_PAINT
break;
/*************************************************************************/
case WM_DESTROY: //зачистка VRAM, RAM перед завершением работы программы
if (pPrimarySurface!=NULL)
{//Уничтожаем в VRAM массив первичной поверхности(рабочей части окна)
pPrimarySurface->Release();
pPrimarySurface = NULL;
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.